是否有可能,而不是愚蠢的,创建一个方法,根据输入只从大对象中返回少数几个属性?
我有一个可以检索的大对象。问题是填充/生成整个对象需要相当长的时间。我想要一个方法,可以根据我发送的内容填充该对象的部分内容。 假设对象中有100个属性。在某些情况下,我只需要对象的一个属性来进行一些检查,或者选择一些属性。 我可以制作单独的方法来获取该属性,但这会很快产生很多非常相似的方法,使用和维护会很麻烦。
对象中的属性是简单和复杂的混合。其中一些只是布尔和字符串,而其他人调用数据库来解析对象上的Id的自定义对象。例如,根据客户ID检索客户对象。
我想做这样的事情:
public MyObject FillSelectProperties(guid Id, params string[] properties)
{
foreach(property in properties
FillProperty(property);
}
或类似的东西。 也许用反射?或者其他一些更有效的方式。
示例:
var mo = FillSelectProperties(id, "Prop4", "Prop17", "Prop18");
if(mo.Prop4 == true)
//do something with mo.Prop17 and moProp18
我不知道这是否只是一厢情愿地认为这是可以解决的,而不会产生很多具体的方法。