4
我創建自定義屬性,我想在設置AttributeUsage
(或者在屬性類的一些其他屬性),所以我在我的屬性只能用來設置屬性用法在私人方法,這是可能的嗎?自定義屬性 - 只爲私人會員
在此先感謝您的答案!
我創建自定義屬性,我想在設置AttributeUsage
(或者在屬性類的一些其他屬性),所以我在我的屬性只能用來設置屬性用法在私人方法,這是可能的嗎?自定義屬性 - 只爲私人會員
在此先感謝您的答案!
C# (as of 4.0)
沒有此功能,允許您根據會員的可訪問性限制attribute
的使用情況。
問題是你爲什麼要這麼做?
由於以下屬性給出,
[AttributeUsage(AttributeTargets.Method, Inherited = false, AllowMultiple = true)]
sealed class MethodTestAttribute : Attribute
{
public MethodTestAttribute()
{ }
}
及以下級,
public class MyClass
{
[MethodTest]
private void PrivateMethod()
{ }
[MethodTest]
protected void ProtectedMethod()
{ }
[MethodTest]
public void PublicMethod()
{ }
}
您可以方便地使用下面的代碼的私有方法屬性:
var attributes = typeof(MyClass).GetMethods().
Where(m => m.IsPrivate).
SelectMany(m => m.GetCustomAttributes(typeof(MethodTestAttribute), false));
我很感興趣瞭解私有屬性的原因。 – Amy 2010-12-21 18:31:19