我正在设计一个3层框架如何将对象属性作为函数参数传递?
我想知道是否有可能将对象的属性传递给函数而无需明确声明它们? 例如,如果我想通过Id,Name
到personnelBL.ValidateInsert(...)
我不想ValidateInsert
功能界面如下图所示:ValidateInsert(Id,Name)
其原因是,我想要写一个抽象基类包含一个ValidateInsert(...)
抽象函数,所以我将继承我的BL Layer
类中的那个类和如果ValidateInsert
输入参数可以声明的方式,我可以以一般形式传递对象属性它真的很好。
注意:有人可能会说我可以将一个对象传递给使用泛型的函数,但我真的不想传递一个对象!我想传递任何对象的属性,所以我可以在任何entityBL类中继承该抽象基类。
我真的无法解释我想要的更好!对不起,感谢理解我。
什么声明你的基地的方法:验证(字典<字符串,字符串> aValuesToCheck)。不给你类型安全,但是可以一般地传递任意数量的属性值。 – TheEdge
@TheEdge你说的真是一个不错的方法!并输入safty并不重要,因为我检查了DAL Layer中的类型和值。我一定会尝试你所说的。但是,如果有更好的方法来传递任何对象属性,这将是非常好的;) – Karamafrooz
查看我的答案。我提供了一种安全的方式来做到这一点,但我不知道你将如何实现这一点。 –