Check if property has attribute

前端 未结 8 1551
刺人心
刺人心 2020-11-28 03:03

Given a property in a class, with attributes - what is the fastest way to determine if it contains a given attribute? For example:

    [IsNotNullable]
    [I         


        
8条回答
  •  野性不改
    2020-11-28 03:42

    You can use the Attribute.IsDefined method

    https://msdn.microsoft.com/en-us/library/system.attribute.isdefined(v=vs.110).aspx

    if(Attribute.IsDefined(YourProperty,typeof(YourAttribute)))
    {
        //Conditional execution...
    }
    

    You could provide the property you're specifically looking for or you could iterate through all of them using reflection, something like:

    PropertyInfo[] props = typeof(YourClass).GetProperties();
    

提交回复
热议问题