gpt4 book ai didi

c# - 在 C# 中重载属性

转载 作者:可可西里 更新时间:2023-11-01 03:10:54 24 4
gpt4 key购买 nike

好的,我知道 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;
}

那会做同样的事情。想法?

最佳答案

属性实际上是一对 get/set 方法(其中一个可能被忽略),但属性本身具有额外的元数据,这使得它首先成为一个属性,而不仅仅是两个方法。

因为根据返回类型唯一不同,属性签名仍然无效,即使您只有一个 setter。如果你需要这个,不要使用属性; set-only 属性无论如何都不是什么好事。

关于c# - 在 C# 中重载属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2608892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com