【问题标题】:What is the meaning of this half class/half constructor c# syntax for reactiveui?这个半类/半构造函数c#语法对于reactiveui是什么意思?
【发布时间】:2016-01-08 12:59:25
【问题描述】:

我一直在阅读有关 ReactiveUI 的内容,并且在第一个示例中遇到了问题! On the project's website,给出如下代码:

public class SearchViewModel : ISearchViewModel
{
    public ReactiveList<SearchResults> SearchResults { get; set; }

    private string searchQuery;
    public string SearchQuery {
        get { return searchQuery; }
        set { this.RaiseAndSetIfChanged(ref searchQuery, value); }   
    }

    public ReactiveCommand<List<SearchResults>> Search { get; set; }

    public ISearchService SearchService { get; set; }
}

然后,

public SearchViewModel(ISearchService searchService = null) : ReactiveObject, IRoutableViewHost
{
    SearchService = searchService ?? Locator.Current.GetService<ISearchService>();

    ... // example continues

}

但是,我无法理解第二部分使用的语法。好像一半是构造函数,一半是类定义。

这到底是什么意思?我无法编译一个简单的等效示例 - 是否有一些语言/编译器扩展在起作用?

【问题讨论】:

  • 构造函数的继承链?看起来确实很奇怪?您是否错过了使这些条件成为通用 gonstraints 的任何通用参数?
  • 对我来说看起来像是一个错字。似乎示例代码是他们试图突出显示的内容,因此您可能可以忽略那个奇怪的构造函数签名。
  • 这不是新的 C# 6.0 默认构造函数语法吗?
  • @Daniel nope - 此功能已从 C# 6.0 中删除。见stackoverflow.com/a/26915809/1108916

标签: c# reactiveui


【解决方案1】:

这确实是一个错误/错字。语法不正确。我刚刚提交了PR fixing it

【讨论】:

  • 是的,错字了,已经合并了 PR。很抱歉有任何混淆。
猜你喜欢
  • 2016-10-26
  • 2011-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多