【发布时间】:2017-07-28 22:31:49
【问题描述】:
我正在设计一个 3 层框架
我想知道是否可以在不明确声明的情况下将对象的属性传递给函数?
例如如果我想将Id,Name 传递给personnelBL.ValidateInsert(...)
我不希望ValidateInsert 函数界面看起来像这样:ValidateInsert(Id,Name)
原因是我想写一个基础抽象类来包含一个ValidateInsert(...)
抽象函数,所以我将在我的BL Layer 类中继承该类,如果ValidateInsert 输入参数可以以一种我可以以一般形式传递对象属性的方式声明,那就太好了。
注意:有人可能会说我可以使用泛型将对象传递给函数,但我真的不想传递对象!我想传递任何对象的属性,以便可以在任何 entityBL 类中继承该抽象基类。
我真的无法解释我想要什么更好!很抱歉,感谢您理解我。
【问题讨论】:
-
如何将您的基本方法声明为:Validate(Dictionary
aValuesToCheck)。不会为您提供类型安全性,但它是一种通常传递任意数量的属性值的方法。 -
@TheEdge 你说的真是个好方法!并且类型安全并不重要,因为我检查了 DAL Layer 中的类型和值。我一定会试试你说的。但是,如果有更好的方法来传递任何对象属性,那就太好了;)
-
看看我的回答。我提供了一种类型化的 ans 安全方法来执行此操作,但我不确定您将如何实现它。
标签: c# frameworks