System
클래스에는 속성을 추가 할 수 없지만 Sealed
으로 표시되지 않은 경우 원본에서 파생 된 사용자 정의 클래스를 만들고 사용자 정의 속성을 추가 할 수 있습니다.
모든 코드는 추가 된 속성을 제외하고 원본과 동일한 파생 클래스를 호출해야합니다.
[MyAttribute(DisplayName="Name shown")]
public class MyActivity: System.Activities.Activity
{
}
/// <summary>
/// Custom attribute definition
/// </summary>
[AttributeUsage(AttributeTargets.Class)]
public sealed class MyAttribute : System.Attribute
{
/// <summary>
/// Defines the attribute
/// </summary>
public string DisplayName { get; set; }
/// <summary>
/// Allow access to the attribute
/// </summary>
/// <param name="prop"></param>
/// <returns></returns>
public static string GetDisplayName(System.Reflection.MemberInfo prop)
{
string field = null;
object[] attr = prop.GetCustomAttributes(false);
foreach (object a in attr)
{
MyAttribute additional = a as MyAttribute;
if (additional != null)
{
field = additional.DisplayName;
}
}
return field;
}
}
어떤 수업에 대해 이야기하고 있습니까? 그들은 '봉인 된'것으로 표시되어 있습니까? 그렇지 않은 경우 원본에서 파생 된 사용자 지정 클래스를 만들고 네임 스페이스 Windows.System.Activities에서 사용자 지정 특성 –
클래스를 추가 할 수 있습니다. 내 사용자 지정 특성 DisplayName (문자열)을 추가하고 싶습니다. – ShurikEv