我想序言我没有经常使用动态对象,而且最近才遇到这个问题。我有一个特定的场景,我将在下面解释,但我想知道与为该对象创建类相比,实现动态对象的确切优势是什么。
我有一个将动态对象作为参数的方法。为了篇幅,我不会发布足够多的代码来解决问题:
public static Tax GetEmployeeTax(string Id, Employee employee, dynamic inputObject)
{
var temp = new Employee();
//use the dynamic object properties
return temp;
}
在这种情况下,inputObject
将具有帮助识别员工税的属性,而不直接与员工类相关。我主要给了inputObject
以下属性:
dynamic dynamicEmployeeTax = new ExpandoObject();
dynamicEmployeeTax.FederalTaxInfo = "Some information";
dynamicEmployeeTax.StateTaxInfo = "Some other information";
与使用动态对象相比,使用它自己的类有什么好处吗?这种或那种方式有什么好处吗?
答案 0 :(得分:1)
您想要创建一个类有几个原因:
该列表无限制地进行。我认为这里的共识是避免它。极少数情况下这很有用。对于大多数人来说,坚持合同和编码到抽象而不是实现细节。