C#.NET:当属性设置为无效值时,是否可以创建编译时警告?

这只是一个可行性问题。 我知道,如果我说

int myInt = "5"; 

我收到编译时错误。 我想要做的是在对象上创建编译时错误或警告。 所以假设我有一个带有一些属性的自定义对象。 其中一个属性不能为null,否则解决方案将无法编译:

  public static class NoNullObjects { //NotNullable public static NotNullObject {get; set;} } 

MyClass.cs:

  Line#55 NoNullObjects.NotNullObject = null; 

当我建立时我想看到:

  Error: NotNullObject cannot be set to null. MyClass.cs Line 55. 

有没有办法做到这一点?

不,不仅仅是C#。 微软的代码合同工作可能会给你你想要的东西: http : //msdn.microsoft.com/en-us/devlabs/dd491992.aspx 。

这是一个涵盖相同主题的问题。 接受的答案表明您使用代码合同 。