我正在尝试实现与Tuple<T1,T2>.Create<T1,T2>(T1 item1, T2 item2)
类似的方法,但我仍然需要指定类型参数,而Tuple.Create会推断它们。
我认为这个定义是正确的。我究竟做错了什么?这是我的代码:
public class KeyValuePair<K, V>
{
public K Key { get; set; }
public V Value { get; set; }
public static KeyValuePair<K, V> Create<K, V>(K key, V value)
{
return new KeyValuePair<K, V> { Key = key, Value = value };
}
}
答案 0 :(得分:11)
您需要创建该类的非泛型版本。
public class KeyValuePair
{
public static KeyValuePair<K, V> Create<K, V>(K key, V value)
{
return new KeyValuePair<K, V>(key, value);
}
}
答案 1 :(得分:5)
我明白了。它没有在Tuple<T1,T2>
类上定义为静态方法,而是在Tuple类上定义。