gpt4 book ai didi

c# 4.0 使用(指定的属性和 attribute.data)获取类属性

转载 作者:太空狗 更新时间:2023-10-30 00:45:23 26 4
gpt4 key购买 nike

我想获得我的类的哪些属性具有具有具体字符串的确切属性。我有这个实现(属性和类):

[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
public class IsDbMandatory : System.Attribute
{
public readonly string tableField;

public IsDbMandatory (string tableField)
{
this.tableField= TableField;
}
}

public Class MyClass
{
[IsDbMandatory("ID")]
public int MyID { get; set; }
}

然后我通过这种方式获取具有具体属性的属性:

public class MyService
{
public bool MyMethod(Type theType, string myAttributeValue)
{
PropertyInfo props =
theType.GetProperties().
Where(prop => Attribute.IsDefined(prop, typeof(IsDbMandatory)));
}
}

但我只需要具有具体属性 isDbMandatory 和具体字符串 myAttributeValue 的属性。

我该怎么做?

最佳答案

var props = theType
.GetProperties()
.Where(
prop => ((IsDbMandatory[])prop
.GetCustomAttributes(typeof(IsDbMandatory), false))
.Any(att => att.tableField == "blabla")
);

关于c# 4.0 使用(指定的属性和 attribute.data)获取类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5579157/

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