如何通过反射在C# 11中读取所需属性。

3
在C# 11中,Microsoft引入了作为类的成员的字段和属性的required属性。 我需要在反射中读取此属性。我该怎么做呢? 例如,在C1类和P1属性中,我们需要读取required属性。
   class C1
   {
     public int required P1 { get; set; }

   }
   .
   ..
   Type targetType = typeof(C1);
   PropertyInfo propertyInfo = targetType.GetProperty("P1");
   propertyInfo.?????
propertyInfo.Attributes和enum System.Reflection.TypeAttributes没有所需的项。
1个回答

3
必需成员被装饰为 RequiredMemberAttribute
bool isRequired = typeof(C1).GetProperty("P1").GetCustomAttribute<RequiredMemberAttribute>() != null;

这很容易发现使用SharpLab


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接