Moh*_*kar 2 .net c# vb.net c#-3.0 c#-4.0
我正在尝试创建自己的数据类型.
所以我从微软的基础示例开始DynamicDictionary.
代码是:http://msdn.microsoft.com/en-us/library/system.dynamic.dynamicobject.aspx
我的类型的主要部分
public class myDynType : System.Dynamic.DynamicObject
{
....
}
Run Code Online (Sandbox Code Playgroud)
现在我在我的代码中想要这样的东西:
[MaxAllowedValue(100)]
myDynType SomeVar;
Run Code Online (Sandbox Code Playgroud)
如您所知,我们不能在C#(=运算符)中重载赋值,那么在赋值之前和之后触发事件的替代方法是什么?
SomeVar = 7.55; // I want to fire an event right before assignment
//Plus after assignment
Run Code Online (Sandbox Code Playgroud)
我想检查赋值之前的值,如果它大于100则抛出异常.我想在赋值后检查它以舍入值或修改它.
不完全是,但也许你可以用属性做你需要的事情:
myDynType someVar;
[MaxAllowedValue(100)]
myDynType SomeVar
{
get
{
return someVar;
}
set
{
PreStuff();
someVar = value;
PostStuff();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
207 次 |
| 最近记录: |