2017-07-14 155 views
-2

,如果我這個屬性:是否可以將參數傳遞給屬性?

public ListView GetCurrentListView 

可我傳遞參數,如

public ListView GetCurrentListView(bool flag) 

+0

帶有參數的屬性稱爲在C#中的說法是「索引」。然而,基於WPF標籤,我懷疑你可能確實在問關於依賴屬性,這根本不屬於屬性。如果是這種情況,請通過編輯您的問題來澄清。 –

+1

不是具有名爲「method」參數的屬性嗎? –

+1

主動動詞「Get」提示這可能是_method_而不是_property_。 – HABO

回答

1

你的第二個例子不再是一個屬性,而是一個方法。

您不能擁有同名的方法和屬性。你通常應該做一個或另一個,但如果你需要一個屬性和一個方法,你將需要爲每個名稱使用不同的名稱。

1

唯一的選擇就是索引器屬性,你可以指定一個屬性的類型作爲代表:

void Main() 
{ 
    var sample = new Sample(); 
    var odd = sample.Numbers(true); 
} 
class Sample 
{ 
    public Func<bool, IEnumerable<int>> Numbers 
    { 
     get => b => Enumerable.Range(1, 100).Select(x => b ? x * 2 : x * 2 - 1); 
    } 
} 
相關問題