Kin*_*sin 10 c# constructor dynamic implicit-conversion
鉴于以下内容class:
public class DataPair{
public string Key { get; set; }
public object Value { get; set; }
public DataPair(string key, object value)
{
Key = key;
Value = value;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有机会实现类似的东西
public static implicit operator DataPair(dynamic value)
{
return new DataPair(value.Key, value.Value);
}
Run Code Online (Sandbox Code Playgroud)
所以我可以用这种方式创建一个新实例
DataPair myInstance = {"key", "value"};
Run Code Online (Sandbox Code Playgroud)
小智 6
最后,使用 C# 7,您可以使用 ValueTuples,例如
public static implicit operator DataPair((string key, object value) value)
{
return new DataPair(value.key, value.value);
}
Run Code Online (Sandbox Code Playgroud)
并像使用它一样
DataPair dp = ("key", 234);
Run Code Online (Sandbox Code Playgroud)
这可能是你最接近的:
public static implicit operator DataPair(string[] values)
{
return new DataPair(values[0], values[1]);
}
Run Code Online (Sandbox Code Playgroud)
并像这样使用它:
DataPair myInstance = new []{"gr", "value"};
Run Code Online (Sandbox Code Playgroud)
这是您将要得到的最接近的结果,因为该= {"gr", "value"};语法是为数组保留的,您不能将其子类化。
| 归档时间: |
|
| 查看次数: |
1594 次 |
| 最近记录: |