【发布时间】:2020-12-28 04:33:11
【问题描述】:
我有一个接口 Service,它有一个 GoTo 方法
public interface Service
{
bool GoTo(string NextPage , object parameter);
}
我有一个A类如下
public class A
{
private Service serviceA;
//constructor of the class
public A(Service serviceB, ServiceManager serviceManager)
{
this.serviceA = serviceB;
}
public ObservableCollection<SampleObject> Example { get; } = new
ObservableCollection<SampleObject>()
{
new SampleObject() { Action= new DelegateCommand(() => this.serviceA.GoTo("NextPage", null))
},
};
}
我收到一个错误,说关键字“this”在当前上下文中不可用。我查看了A field initializer cannot reference the nonstatic field, method, or property,我可以看到该错误是由于变量未在构造函数中初始化但在我的情况下我这样做了。任何有助于更好地理解这一点的帮助将不胜感激?
【问题讨论】:
-
“但在我的情况下,我这样做了” - 不,你没有,你在声明时初始化属性。如果您只是将代码更改为将
Example = new ObservableCollection<SampleObject>() { ... }放入构造函数 就可以了。
标签: c#