gpt4 book ai didi

c# - 使用反射查找实现的接口(interface)

转载 作者:IT王子 更新时间:2023-10-29 04:26:41 24 4
gpt4 key购买 nike

我有以下情况:

public interface IPerson { .. }    
public class Person : IPerson { .. }
public class User : Person { .. }

现在;如果我有一个“用户”对象——我如何检查它是否使用反射实现了 IPerson?更准确地说,我有一个对象可能有一个属性 SomeUser,它应该是实现接口(interface)“IPerson”的某种类型。在我的例子中,我实际上有一个用户,但这是我想通过反射检查的。我不知道如何检查属性类型,因为它是一个“用户”,但我想检查它是否实现了 IPerson...:

var control = _container.Resolve(objType); // objType is User here
var prop = viewType.GetProperty("SomeUser");
if ((prop != null) && (prop.PropertyType is IPerson))
{ .. }

(注意这是我实际案例的简化,但重点应该是一样的...)

最佳答案

检查 Type.IsAssignableFrom方法。

关于c# - 使用反射查找实现的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1519530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com