2

そのような定義を考えると

public class KeyValueItem<K,V>
{
    public K Key { get; set; }
    public V Value { get; set; }

    public override string ToString()
    {
        return T.ToString(); // does not compile
    }
}

ToString()をオーバーライドしてV.ToString();を返すにはどうすればよいですか。

4

1 に答える 1

10

さて、あなたが使いたいようです:

public class KeyValueItem<K,V>
{
    public K Key { get; set; }
    public V Value { get; set; }

    public override string ToString()
    {
        return this.Value.ToString(); // does compile
    }
}

なんで?Tはどこにもなく、K / Vは型であり、型のインスタンスではないためです。

于 2012-05-15T18:45:40.137 に答える