[英]How to instantiate a linkedlistNode of a generic type in c#
例如我有一個通用的 class KeyAndValue
public class KeyAndValue<T, U>
{
public T? key { get; set; }
public U? value { get; set; }
}
現在我想實例化一個LinkedListNode<KeyAndValue<int, int>>
object
var newNode = new LinkedListNode<KeyAndValue<int, int>>();
我收到這樣的警告
There is no argument given that corresponds to the required formal parameter 'value' of 'LinkedListNode<KeyAndValue<int, int>>.LinkedListNode(KeyAndValue<int, int>)' [146]",
我的問題是如何創建一個泛型類型的泛型類型的 object?
您可以使用現有的 class KeyValuePair
代替KeyAndValue
。 另外你可以創建一個構造函數:
public class KeyAndValue<T, U>
{
public KeyAndValue(T key, U value)
{
this.key = key;
this.value = value;
}
public T? key { get; set; }
public U? value { get; set; }
}
兩者都是可能的:
var keyValuePair = new KeyValuePair<int, int>(0, 5);
var linkedListNode1 = new LinkedListNode<KeyValuePair<int, int>>(keyValuePair);
var keyAndValue = new KeyAndValue<int, int>(0, 5);
var linkedListNode2 = new LinkedListNode<KeyAndValue<int, int>>(keyAndValue);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.