2016-01-08 67 views
1

我一直在閱讀有關ReactiveUI,並已在第一個例子中遇到問題! On the project's website,下面的代碼給出:這個半類/半構造函數的C#語法的意義是什麼?

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 

} 

但是,我不能讓用於第二部分的語法任何意義。它看起來好像是一半的構造函數,還有一半是類定義。

究竟是什麼意思?我不能做一個簡單的,等價的示例編譯 - 有一些語言/編譯器擴展在工作嗎?

+0

在構造函數的繼承鏈?似乎確實奇怪?您是否錯過了將這些條件變爲泛型gonstraints的泛型參數? – HimBromBeere

+3

看起來像是我的錯字。它看起來像示例代碼是他們試圖突出顯示的,所以你可能會忽略那個奇怪的構造函數簽名。 – juharr

+1

是不是新的C#6.0默認構造函數語法? –

回答

1

這是一個錯誤/拼寫錯誤。語法不正確。我剛剛提交了一個PR fixing it

+0

是的錯字,已合併公關。對於任何混淆抱歉。 –