क्या इस उदाहरण में कोविरिएंस की नकल करने का कोई बेहतर तरीका है? आदर्श रूप में मैं क्या करना चाहते हैं:KeyValuePair Covariance
private IDictionary<string, ICollection<string>> foos;
public IEnumerable<KeyValuePair<string, IEnumerable<string>> Foos
{
get
{
return foos;
}
}
लेकिन KeyValuePair<TKey, TValue>
covariant नहीं है।
इसके बजाय मैं क्या करना है:
public IEnumerable<KeyValuePair<string, IEnumerable<string>>> Foos
{
get
{
return foos.Select(x =>
new KeyValuePair<string, IEnumerable<string>>(x.Key, x.Value));
}
}
वहाँ एक बेहतर/क्लीनर तरीका है?