我想先声明我并没有经常使用动态对象,最近才遇到了这个问题。我有一个具体的场景要解释,但我想知道实现动态对象相比于创建对象类的优势是什么。
我有一个方法需要将动态对象作为参数。出于长度考虑,我不会贴太多代码,只会贴足以阐明观点的代码。
在这种情况下,
我有一个方法需要将动态对象作为参数。出于长度考虑,我不会贴太多代码,只会贴足以阐明观点的代码。
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";
相较于使用动态对象,把它作为自己的类有什么优势?两种方法各有哪些好处?
dynamic
,因为你需要。有什么原因你不能为inputObject
创建一个类型? - haim770dynamic
作为最后的选择,而非首选(或者,如果您只是懒得创建一个类-但最终这可能会回来咬你)。 - Matt Burland