c# -动态对象的隐式构造函数
本文关键字:构造函数 对象 动态 | 更新日期: 2023-09-27 18:06:45
给定以下class
:
public class DataPair{
public string Key { get; set; }
public object Value { get; set; }
public DataPair(string key, object value)
{
Key = key;
Value = value;
}
}
是否有机会实现类似
的东西?public static implicit operator DataPair(dynamic value)
{
return new DataPair(value.Key, value.Value);
}
我可以这样创建一个新实例
DataPair myInstance = {"key", "value"};
最后,在c# 7中,您可以使用像
这样的ValueTuplespublic static implicit operator DataPair((string key, object value) value)
{
return new DataPair(value.key, value.value);
}
,像
一样使用DataPair dp = ("key", 234);
这可能是你能得到的最接近的:
public static implicit operator DataPair(string[] values)
{
return new DataPair(values[0], values[1]);
}
并像这样使用:
DataPair myInstance = new []{"gr", "value"};
这是你能得到的最接近的,因为= {"gr", "value"};
语法是为数组保留的,你不能子类化。