我有一个执行密码更新的简单数据层例程,用户传递以下内容:
>当前密码,新密码,确认新密码.
在我的数据层(proc)中检查一些事情,例如:
>当前密码是否正确?
>新密码和确认密码是否正确?
>过去是否分配了新密码?
等等…
现在我知道我可以简单地创建一个类并返回一对布尔值:
public class UpdatePasswordResponse{ public bool CurrentPasswordCorrect {get;set;} ....(and so on) }
但有没有办法可以动态地将该信息返回到属性中的biz层,而不是每次都创建一个新类(对于每个数据层例程)?我似乎记得以为这是可能的.我很确定我在某个地方看到它但不记得语法,有人可以帮助我吗?
解决方法
您可以使用
dynamic
关键字在.NET 4中执行此操作.
您想要返回的课程将是ExpandoObject.
基本上,请遵循以下模式:
public object GetDynamicObject() { dynamic obj = new ExpandoObject(); obj.DynamicProperty1 = "hello world"; obj.DynamicProperty2 = 123; return obj; } // elsewhere in your code: dynamic myObj = GetDynamicObject(); string hello = myObj.DynamicProperty1;