为简单起见,请使用以下示例,该示例在 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
提交
取消