这是一个纯粹的学术问题-我很容易找到解决方法。
在将 VB.Net 类移植到 C# 时,我发现在一个类中声明了一个字段,该类使用 this 关键字作为 new() 语句中的参数。编译器说“关键字'this'在当前上下文中不可用'(VB编译器认为这种情况没有问题)。我很容易通过将字段的初始化移动到类的构造函数来解决这个问题。
编辑:阅读评论后,我添加了以下代码块
public class cTransactions
{
private List Trans = new List();
private List Archive = new List();
private cDDs Debits = new cDDs(this); // complier error
//Keyword 'this' is not available in the current context
private string path = Directory.GetCurrentDirectory() + "\";
private bool dirty = false;
private int LastID;
// followed by Property declarations, ctor, methods etc.
//...
}
但是,在执行类的构造函数之前,我找不到对关键字“this”不可用的任何引用(尽管我可能错过了 500 多页语言规范中的这一启示)。是这种情况还是我应该在字段声明之前的其中一行中查看一些错误?