Not nullable types
<p>Is there a way to create a non nullable type in C# (like DateTime or TimeSpan).?</p>

<p>Also is there a way (an attribute maybe) to enforce that not null arguments wouldn't be passed to methods and properties without adding </p>

<pre><code>if(arg1 == null)
{
   throw new ArgumentNullException("this attribute is null")
}
</code></pre>
