end*_*ser 16 c# overloading properties
好吧,我知道C#不支持属性重载 - 大多数参考文献通过引用单方法 - 不同 - 返回类型问题来解释它.然而,怎么样的二传手呢?我想直接将值指定为字符串或对象,但只返回字符串.
像这样:
public string FieldIdList
{
get { return fieldIdList.ToString(); }
set { fieldIdList = new FieldIdList(value); }
}
public FieldIdList FieldIdList
{
set { fieldIdList = value; }
}
private FieldIdList fieldIdList;
Run Code Online (Sandbox Code Playgroud)
为什么不允许这样做?我还看到"属性"只是在编译时创建getter/setter函数.是否可以创建自己的?就像是:
public void set_FieldIdList(FieldIdList value)
{
fieldIdList = value;
}
Run Code Online (Sandbox Code Playgroud)
那会做同样的事情.思考?
属性实际上是一对get/set方法(其中一个可能被省略),但是属性本身具有额外的元数据,这使得它首先成为属性,而不仅仅是两个方法.
因为属性签名按照不同的返回类型保持无效,即使您只有一个setter.如果您需要,请不要使用财产; 仅设置属性反正不是一件好事.
| 归档时间: |
|
| 查看次数: |
19024 次 |
| 最近记录: |