为了账号安全,请及时绑定邮箱和手机立即绑定

如何期望类的属性类型作为泛型函数中的参数?

如何期望类的属性类型作为泛型函数中的参数?

C#
慕村9548890 2021-08-07 15:57:53
为简单起见,请使用以下示例,该示例在 C# 中无效:public void SomeGenericFunc<T>(T classObject, T.Property.Type classPorpertyType){    string propertyName = nameof(classPropertyType);    // ...}示例简单类:public class Car{    public Car(){}    public int DoorsCount { get; set; }    public string Color { get; set; }}函数调用看起来像这样:SomeGenericFunc<Car>(new Car(), Car.DoorsCount); //should be validSomeGenericFunc<Car>(new Car(), SomeType); //should be invalid at compile time: SomeType is not a property of CarSomeGenericFunc<Car>(new Car(), Car.Color); //should be valid显然T.Property.Type,C# 中没有可用的东西。在这个例子中,我不想nameof(Car.DoorsCount)每次调用函数时都通过。我希望nameof()调用发生在SomeGenericFunc<T>(),因此我可以SomeGenericFunc<T>()使用任何类和该类的任何属性进行调用。那么是否可以在泛型函数中传递和期望类的属性类型?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信