我想我以前见过某个地方,但现在我不记得都找不到它,有没有办法用参数制作一个getter属性?
我的意思是,因为我可以转换"float getSize();" 到"浮动大小"
float getSize() {
return this.size;
}
float Size {
get { return this.size; }
}
Run Code Online (Sandbox Code Playgroud)
然后,我可以转换为例如"float getSize(String unit);" "浮动大小(字符串单位)"或类似的东西?
float getSize(String unit) {
return this.size;
}
float Size(String unit) {
get {
if (unit == Unit.Meters)
return this.size/100;
else
return this.size;
}
}
Run Code Online (Sandbox Code Playgroud)
我认为根本没有使用功能的问题,但这样看起来可能更好:P
dri*_*iis 36
回答这个问题:不,这是不可能的,正如已经指出的那样,带参数的getter看起来就像一个方法.
您正在考虑的事情可能是索引的默认属性,如下所示:
class Test
{
public string this[int index]
{
get { return index.ToString(); }
}
}
Run Code Online (Sandbox Code Playgroud)
这允许您索引到Test的实例,如下所示:
Test t = new Test();
string value = t[1];
Run Code Online (Sandbox Code Playgroud)
小智 19
但就像好奇心一样......在VB .Net中可以使用带参数的属性
如下所示:
Public ReadOnly Property oPair(param As String) As Result
Get
'some code depends on param
End Get
End Property
Run Code Online (Sandbox Code Playgroud)
它不比常规功能更好,但有时候有这种可能性很好.