0

在 C# 程序中,我进行了多次重复的错误检查:

try 
{
  File.Move(searchfolder + question1 +"_"+ filestring +".txt", 
            searchfolder + question1 +".txt");
}
catch (Exception ex) 
{
  File.AppendAllText(adminfolder + question1 +"_l.txt", "!"); 
  side.Value = Convert.ToString(ex) + "[Check-In error at "
                               + Convert.ToString(MYLINE) +"] "+ side.Value;
}

MYLINE 是一个数字,而 MYLINE 是唯一在我的程序中发生变化的东西。

因此,一个普通的 C++ #define 宏会使它更易于使用(我只需在程序顶部编写完整的“#define CHECKIN(MYLINE) ...”)。

专业人士如何在 C# 中处理这个问题?

4

1 回答 1

5

...而 MYLINE 是我的程序中唯一改变的东西。所以一个普通的 C++ #define 宏会使这更容易使用

好吧,也许吧,但由于 C# 没有宏的概念......只需使用一个方法:

static class FileMover
{
    public static void MoveMyFile(string myline)
    {
        // your existing code here
    }
}

附带说明一下,您的代码中存在明显的问题。在您的catch块中,您调用File.AppendAllText()... 当然,这也可以引发异常。你需要考虑到这一点。

于 2012-08-11T18:42:19.090 回答