由于代码的类:C#如何使这一行为类似于可空<T>
public class Filter<T>
{
private bool selected = false;
public bool Selected { get { return selected; } }
private T value;
public T Value { get{ return this.value; } set { this.value = value; selected = true; }
}
public class Test
{
public void filter()
{
DateTime a= new DateTime();
Nullable<DateTime> b = new DateTime(); //Work Like a Charm
Filter<DateTime> c = new DateTime(); //Dosent Work
}
}
在Nullable<T>
的new DateTime()
可以直接分配到变量。在我的课上,它不起作用。我想了解我错过了什么。
我觉得这很简单。但我无法用言语来寻找答案。
可空''是在CLR和特殊处理的.NET语言的编译器的特殊情况下,你有找到相同的语义问题的 –
2013-04-04 17:57:27
部分是可为空''是'struct' ,而不是“课堂”。 –
48klocs
2013-04-04 18:07:36
@ShaniElharrar他的问题根本不是特例,因为它只是隐式转换。 – pascalhein 2013-04-04 18:09:53