gpt4 book ai didi

c# - GetProperty BindingFlags.IgnoreCase 在 c# 中没有 public 和 Instance 将无法工作

转载 作者:可可西里 更新时间:2023-11-01 08:32:28 26 4
gpt4 key购买 nike

 Type t = typeof(T);
t.GetProperty("Company")

如果我写下面的代码,它会返回 null

    Type t = typeof(T);
t.GetProperty("company", BindingFlags.IgnoreCase)

与此同时,如果我写这个工作正常。为什么会这样?

Type t = typeof(T);
t.GetProperty("company", BindingFlags.IgnoreCase|BindingFlags.Public | BindingFlags.Instance)

最佳答案

采用BindingFlags 的重载实际上默认为BindingFlags.Public | BindingFlags.静态 | BindingFlags.Instance。这就是它在您的第一个代码段中找到它的原因。

如果您确实指定了一个BindingFlags,您必须指定所有相关的标志 - 其中包括表明您是否要查看的标志公共(public)成员,是否要查看非公共(public)成员,是否要查看实例成员,是否要查看静态成员。

当您只是指定BindingFlags.IgnoreCase时,您还没有说您想查看其中任何一个,因此它不会找到任何内容。

关于c# - GetProperty BindingFlags.IgnoreCase 在 c# 中没有 public 和 Instance 将无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14930957/

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