gpt4 book ai didi

c# - c#属性的多态性

转载 作者:太空宇宙 更新时间:2023-11-03 18:37:59 24 4
gpt4 key购买 nike

我有这样一个类:

public class ItemField
{

public string FieldName { get; set; }

public object FieldValue
{
get;
set;
}
}

我想要它,以便“FieldValue”只能是字符串、MyItem 或 List 类型。我也想要它,以便当代码使用此类时,访问“FieldValue”会返回正确类型的对象。有没有办法做到这一点?我不太清楚泛型,但似乎有一种方法可以使用它来做到这一点......

最佳答案

一个属性只能返回一种特定的类型,你不能让它根据字段值的实际类型返回不同的数据类型。

您可以为类使用泛型,但是您需要为要存储在其中的数据类型创建类实例:

public class ItemField<T> {

public string FieldName { get; set; }

public T FieldValue {
get;
set;
}

}

关于c# - c#属性的多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12519657/

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