【问题标题】:invalid token ';' in class struct or interface member declaration令牌无效 ';'在类结构或接口成员声明中
【发布时间】:2016-07-27 03:29:08
【问题描述】:

我有一个像这样的单例类,

public sealed class MainWindow
{
    public Form MainWindowContainer { get; set; }
    private static readonly Lazy<MainWindow> _mainWindow = new Lazy<MainWindow>(() => new MainWindow());
    // Error on this line
    public static MainWindow Instance => _mainWindow.Value;
    private MainWindow()
    {
         MainWindowContainer = Host.Local.FindSingle<Form>(GenericProperties.MainWindow);
    }
}

在编译时,我收到错误为“无效令牌';'在类结构或接口成员声明中”。请帮忙。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您不能将属性 getter 定义为 lambda,只需更改为 getter 属性

    public static MainWindow Instance 
    {
       get { return _mainWindow.Value; }
    }
    

    或更改为 Lambda 函数

    public static Func<MainWindow> Instance => _mainValue.Value;
    

    取决于你想要如何访问它

    var win = MainWindow.Instance;
    // or
    var win = MainWindow.Instance();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-07
      相关资源
      最近更新 更多