隐含运算符?

时间:2009-05-07 13:15:16

标签: c# .net casting operator-overloading implicit

我需要一些帮助。我正在创建一个像这样的SelectItem类:

public class SelectItem<T> where T : class
{
    public bool IsChecked { get; set; }
    public T Item { get; set; }
}

我希望以下代码有效

SelectItem<String> obj = new SelectItem<String> { Item = "Value" };

obj.IsChecked = true;

String objValue = obj;

而不是必须这样做:

String objValue = obj.Item;

我该如何做到这一点?

1 个答案:

答案 0 :(得分:12)

public static implicit operator T(SelectItem<T> obj) {
    return obj.Item;
}