2017-07-14 154 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); 
    } 
} 
相关问题