我想编写一个通用函数,它接受一个对象和该对象的一系列属性。在函数内部,我想选择一个新的匿名对象,它只是传入对象的那些属性。
我想做这样的事情:
public class SimpleClass
{
public DateTime ADate {get; set;}
public string StringHere {get; set;}
public int ANumber {get; set;}
}
var testObj = new SimpleClass();
// set values here on testObj properties
DoStuffHere(testObj, StringHere, ANumber);
我可以将属性作为字符串传递,然后使用反射从传入的对象中获取属性,但我想知道是否有某种方法可以自己传递属性,这样我就可以进行智能感知和编译时间检查以防止不好的属性名称。我希望我的 getNewClass 函数采用任何类型的对象,并且是通用的。
编辑:我没有返回一个新的匿名类型。我认为我的函数名称听起来是这样的。我将在内部从指定的 testObj 列表中选择一个新的匿名类型,并从这些属性生成 PDF。