how to set compile time validation on class instance members
I have created a class like below:
class mycl开发者_运维百科ass
{
Public int myint;
}
Now I want to restrict the range of myint(min 5 and max 10).
I want if any one set the value of myint which is not in the range it will give a compile time error(not runtime error) please help me how to achive it.
It's experimental, but you could look into Spec#. It can provide you with more compile-time checks. Code Contracts are another option (but that's only available in certain editions of Visual Studio).
Edit:
Looks like code contacts may now be available as a standalone download! See this page!
You don't have that out-of-the-box in .NET, but there're some validation engines that let you validate an instance of some object against some rules.
Read about:
NHValidator: It can be used standalone, read this article: http://ayende.com/Blog/archive/2009/05/01/nhibernate-validator.aspx
Microsoft Application Validation Block: http://msdn.microsoft.com/en-us/library/ff650484.aspx
I'll suggest you to use NHValidator, because it's very easy-to-use, needs zero configuration and it has a good community support. Another good point is you can use in any layer (business, presentation...) because it's attribute-oriented, meaning that you don't need to inherit any class or implement an interface in order to use it anywhere!
精彩评论