检查不同类的属性

Stu*_*lah 1 c#

我有多个类都包含相同的属性以及一整个不同的其他属性.这些类不使用任何类型的接口.我想要做的是将每个类的实例传递给可以检查属性的方法.

泛型可以用于此吗?如果是这样,我如何构建一个方法来执行此任务?

Jon*_*eet 7

好吧,你可以使用反射...但是最好使用指定属性的接口,然后你可以使每个类实现接口.泛型在这里不会帮助你 - 例如,没有办法指定"T必须是具有属性X的类型".

如果您使用的是C#4,则可以使用动态类型:

public void Foo(dynamic d)
{
    Console.WriteLine(d.MyProperty);
}
Run Code Online (Sandbox Code Playgroud)

但是,如果可能的话,我建议你尝试使用静态类型(通过接口).