Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Fórum ➡ My Category Attribute ↔ New Default Attribute: Behavior ♦
//Rextester.Program.Main is the entry point for your code. Don't change it. //Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5 using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; using System.Reflection; using System.ComponentModel; // aljodav ↔ rextester.com/users/376 // // In reply to MSDN thread ➡ http://bit.ly/2loFgSl namespace Rextester { public class MyCategoryAttribute:CategoryAttribute{ private const string _defaultName="Behavior"; private static volatile MyCategoryAttribute _default; public new static MyCategoryAttribute Default{ get{ if(_default==null){_default=new MyCategoryAttribute();} return _default; } } public new static MyCategoryAttribute Behavior{ get{return Default;} } public MyCategoryAttribute():base(){} public MyCategoryAttribute(string s):base(s){} protected override string GetLocalizedString(string value){ return value=="Default"?_defaultName:base.GetLocalizedString(value); } public override bool IsDefaultAttribute(){ return Category.Equals(Default.Category); } } public class Program { [MyCategory()] public int A{get;set;} [MyCategory("Default")] public int B{get;set;} [MyCategory("Appearance")] public int C{get;set;} [MyCategory("Focus")] public int D{get;set;} [MyCategory("Action")] public int E{get;set;} [MyCategory("Behavior")] public int F{get;set;} public static void Main(string[] args) { foreach(char c in "ABCDEF"){ var category=(CategoryAttribute)typeof(Program) .GetProperty(""+c) .GetCustomAttribute(typeof(CategoryAttribute)) ; Console.WriteLine("property : {0}\tcategory : {1}\tIsDefaultAttribute : {2}", c,category.Category,category.IsDefaultAttribute()); } Console.WriteLine("\nMyCategoryAttribute.Default.Category : {0}",MyCategoryAttribute.Default.Category); Console.WriteLine("MyCategoryAttribute.Default.IsDefaultAttribute() : {0}",MyCategoryAttribute.Default.IsDefaultAttribute()); Console.WriteLine("\n\nHello, world!"); } } }
run
|
edit
|
history
|
help
0
0/1 Knapsack problem using Iterative Approach
Programmer DNA
Enumerable Range
Hello World!
Split IPs to 8 and 16
Hi
addr.sin_family == AF_UNSPEC
12
Remove Duplicate Ignore Case
Student Management System