簡體   English   中英

如何立即將 StringLength 屬性應用於 class 內的所有屬性?

[英]How to apply at once StringLength attribute to all properties within the class?

我有一個 class 和 ~400 個字符串屬性(它是自動生成的)我想將[StringLength(50)]應用於 class 中的所有屬性。如果不將屬性復制粘貼 400 次,這是否可能?

有一種方法可以使用反射來實現,但這種方法將在運行時應用屬性,而不是在編譯時應用。

public static void AddStringLengthAttribute(Type type, int maxLength)
{
    var properties = type.GetProperties();
    foreach (var property in properties)
    {
        var attribute = new StringLengthAttribute(maxLength);
        property.SetCustomAttribute(attribute);
    }
}

然后你可以調用AddStringLengthAttribute(typeof(YourClass), 50);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM