gpt4 book ai didi

c# - 反射找不到抽象类属性的私有(private) setter

转载 作者:太空狗 更新时间:2023-10-29 18:08:18 27 4
gpt4 key购买 nike

当我在抽象类中拥有此属性时:

public IList<Component> Components { get; private set; }

然后当我打电话时:

p.GetSetMethod(true)

当 p 是指向我的属性的 PropertyInfo 对象时,我得到 null。

但是,如果我将属性 setter 更改为 protected ,我可以通过反射看到它。为什么是这样?我似乎不记得有非抽象类的这个问题......

最佳答案

我假设您是在抽象类的派生类型的对象上调用它。该类根本没有属性 setter 。它仅位于您的抽象基础上。这就是当您将其标记为 protected 时它起作用的原因。在获取属性 setter 时,您需要使用抽象类的 Type

关于c# - 反射找不到抽象类属性的私有(private) setter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20763766/

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