C# 检查不同类上的属性

C# 检查不同类上的属性,c#,C#,我有多个类,它们都包含相同的属性以及一系列不同的其他属性。这些类不使用任何类型的接口。我想做的是将每个类的一个实例传递给一个可以检查属性的方法 泛型可以用于此吗?如果是这样,我如何构造一个方法来执行此任务?好吧,您可以使用反射。。。但是最好使用指定属性的接口,然后可以让每个类实现该接口。泛型在这里对您没有帮助-例如,无法指定t必须是具有属性X的类型 如果您使用的是C 4,则可以使用动态键入: public void Foo(dynamic d) { Console.WriteLine(d

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

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

好吧,您可以使用反射。。。但是最好使用指定属性的接口,然后可以让每个类实现该接口。泛型在这里对您没有帮助-例如,无法指定t必须是具有属性X的类型

如果您使用的是C 4,则可以使用动态键入:

public void Foo(dynamic d)
{
    Console.WriteLine(d.MyProperty);
}
不过,如果可能的话,我建议您尝试通过接口使用静态类型。

嗯,您可以使用反射。。。但是最好使用指定属性的接口,然后可以让每个类实现该接口。泛型在这里对您没有帮助-例如,无法指定t必须是具有属性X的类型

如果您使用的是C 4,则可以使用动态键入:

public void Foo(dynamic d)
{
    Console.WriteLine(d.MyProperty);
}

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

听起来像是在C4.0中使用动态类型

public void DoMethodThing (dynamic your_object){
   your_object.ThatThingYouDo();
}

听起来像是在C4.0中使用dynamic

public void DoMethodThing (dynamic your_object){
   your_object.ThatThingYouDo();
}

有没有办法在拿到之前检查一下财产是否存在?我相信戴夫在这里谈到过:我会晚一点回来,看看我能不能找到他提到的地方。还有,有没有办法在拿到财产之前检查一下财产是否存在?我相信戴夫在这里谈到过:我会晚一点回来,看看我能不能找到我能找到他提到的地方。