【发布时间】:2010-04-09 15:55:52
【问题描述】:
好的,我知道 C# 不支持属性重载 - 大多数参考资料都通过引用单方法不同返回类型问题来解释它。但是,二传手呢?我想直接将值作为字符串或对象赋值,但只作为字符串返回。
像这样:
public string FieldIdList
{
get { return fieldIdList.ToString(); }
set { fieldIdList = new FieldIdList(value); }
}
public FieldIdList FieldIdList
{
set { fieldIdList = value; }
}
private FieldIdList fieldIdList;
为什么不允许这样做?我还看到“属性”只是在编译时创建 getter/setter 函数。是否有可能创建我自己的?比如:
public void set_FieldIdList(FieldIdList value)
{
fieldIdList = value;
}
那会做同样的事情。想法?
【问题讨论】:
-
我被同样的问题所困扰,并且对语言的这种限制感到非常失望(因为我认为没有理由)。奇怪的是,属性是我在 C++ 中错过的很酷的 C# 语言特性,而我发现它们非常缺乏。
标签: c# properties overloading