首頁 >後端開發 >C++ >可以動態修改 .NET 執行時期屬性嗎?

可以動態修改 .NET 執行時期屬性嗎?

Susan Sarandon
Susan Sarandon原創
2025-01-04 04:22:38368瀏覽

Can You Modify .NET Runtime Attributes Dynamically?

運行時屬性自訂

在開發過程中,儘管第三方供應商施加了限制,但仍會出現需要在運行時修改屬性的情況。考慮一個具有以下屬性的類別:

public class UserInfo
{
    [Category("change me!")]
    public int Age
    {
        get;
        set;
    }
    [Category("change me!")]
    public string Name
    {
        get;
        set;
    }
}

在運行時修改實例

與感知相反,屬性實例可以在運行時修改。透過取得屬性實例,我們可以進行值修改,例如:

ASCII[] attrs1 = (ASCII[])
    typeof(MyClass).GetCustomAttributes(typeof(ASCII), false);
attrs1[0].MyData = "A New String";
MessageBox.Show(attrs1[0].MyData);

保留未更改的屬性值

需要注意的是,後續呼叫檢索屬性實例將不受運行時修改的影響:

ASCII[] attrs3 = (ASCII[])
    typeof(MyClass).GetCustomAttributes(typeof(ASCII), false);
 MessageBox.Show(attrs3[0].MyData); // Original value

以上是可以動態修改 .NET 執行時期屬性嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn