字段初始值设定项不能引用非静态字段,方法或属性

Mad*_*ita 8 c# microsoft-bits bits-service

以下是我的代码:

private BitsManager manager;
private const string DisplayName = "Test Job";       

public SyncHelper()
{
    manager = new BitsManager();
}        

BitsJob uploadBitsJob = manager.CreateJob(DisplayName, JobType.Upload);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

A field initializer cannot reference the non-static field, method, or property 'BITSIntegrationModule.SyncService.SyncHelper.manager'

NDJ*_*NDJ 11

这条线

BitsJob uploadBitsJob = manager.CreateJob(DisplayName, JobType.Upload);
Run Code Online (Sandbox Code Playgroud)

无法访问管理器,因为它尚未设置为任何东西 - 您可以将分配移动到构造函数中 -

private readonly BitsManager manager;
private const string DisplayName = "Test Job";       
BitsJob readonly uploadBitsJob;

public SyncHelper()
{
  manager = new BitsManager();
  uploadBitsJob = manager.CreateJob(DisplayName, JobType.Upload);
}   
Run Code Online (Sandbox Code Playgroud)