C#:如何定义支持多种类型的类属性
解决方案:创建支持动态类型成员的类
你可以通过泛型类实现这个需求,泛型能让类在实例化时确定成员的具体类型,修改后的代码如下:
class Bar<T> { public T Foo { get; set; } }
使用示例
初始化int类型的实例:
var intBar = new Bar<int>(); intBar.Foo = 123; // Foo此时为int类型初始化string类型的实例:
var stringBar = new Bar<string>(); stringBar.Foo = "Hello World"; // Foo此时为string类型
如果使用C# 9及以上版本,还能借助目标类型推断简化写法:
Bar<int> intBar = new() { Foo = 123 }; Bar<string> stringBar = new() { Foo = "Hello World" };
内容的提问来源于stack exchange,提问作者anon
相关产品推荐
相关产品推荐

