private void A()
        {
            File.CreateText(@"E:\1\1.txt");
          
        
        } 
        private void B()
        {
            File.CreateText(@"E:\1\2\1.txt");//E:\1\2\这个目录是不存在的
        }private void C()
{
A();
B();
}我现在想实现,如果B文件创建不成功的时候,A也不创建,要怎么操作。
执行的顺序必须是先执行A();

解决方案 »

  1.   

    如果你说的是 TransactionScope 这个“概念”,我建议你分析一下msdn上的所有说明和例子,看看微软到底有没有谱。微软也不是什么都即会说又会做的,至少对于这个我认为微软它的实现、多年以来就是一个概念而已。
      

  2.   

    笨方法,b失败了,A在删除。
    另外看看 command模式
      

  3.   

    很可惜,文件系统没有Rollback的功能,要实现类似事务的功能,就只有自己手工记录trail了。
    几个方法是必须实现的public interface IFileTransaction
    {
    void Commit();
    void Rollback();//回滚Trail记录的每一个操作
    void Trail(object operation);//按顺序记录每一个操作。
    }
      

  4.   

    Mark  晚上回去帮你写  总之一句话 文件系统没有Rollback的功能, 需要自己实现.