C # рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ

рдХрд╛рдлреА рд╕рдордп рддрдХ рдпрд╣ рдореБрдЭ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдкрд╛рдпрд╛ рдХрд┐ рдпреЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдРрд╕реА рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдереАрдВ ред

рдореИрдВ рдмреИрда рдЧрдпрд╛, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛, рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ рдкрдврд╝реЗрдВ, рдФрд░ рдореИрдВ рдЕрдкрдиреА рд╕рдордЭ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИред

рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдПрдХ рд╡рд░реНрдЧ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред
рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рд╡рд░рдг рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдХреЗ, рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдХрд┐рд╕реА рд╡рд░реНрдЧ, рдХреНрд╖реЗрддреНрд░, рд╕рдВрдкрддреНрддрд┐ рдпрд╛ рд╡рд┐рдзрд┐ рдХреЛ рдкреБрд░рд╕реНрдХреГрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖рддрд╛ рдлрд╝реАрд▓реНрдб рдФрд░ рдЧреБрдгреЛрдВ рдХреЗ рдореВрд▓реНрдп рдФрд░ рд╡рд░реНрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИ рдпрджрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╡рд┐рдзрд┐ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдЦрд╛рддреЗ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ - рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдВрдХрд▓рд┐рдд рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЙрд╕ рдкрд░ рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ:

public class MyAttribute : Attribute //        { public int Count { get; set; } //        //           } 


рдФрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд░реНрдЧ рдЬрд┐рд╕реЗ рд╣рдо рд╡рд░реНрдгрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдкреБрд░рд╕реНрдХреГрдд рдХрд░реЗрдВрдЧреЗ рдФрд░ GetArray рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдореВрд▓реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ:

 [MyAttribute{ Count = 3 }] public class IntArrayInitializer { public int[] GetArray() { var type = this.GetType(); //    if (Attribute.IsDefined(type, typeof(MyAttribute))) //     { var attributeValue = Attribute.GetCustomAttribute(type, typeof(MyAttribute)) as MyAttribute; //    return new int[attributeValue.Count]; //       } return new int[0]; } } 


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХреЛрдб рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд╣рд▓реЗ рд╣рдореЗрдВ рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рдХрд╛ рд╡рд┐рд╡рд░рдг рдорд┐рд▓рддрд╛ рд╣реИ, рдлрд┐рд░ рд╣рдо рдЕрдкрдиреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рд╣реИ, рддреЛ рд╣рдо рд╡рд┐рд╢реЗрд╖рддрд╛ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╣реИрдВред

рдФрд░ рдЕрдм, рдЗрд╕ рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рдФрд░ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдирдИ рдХрдХреНрд╖рд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╢реЗрд╖рддрд╛ рдорд╛рди рджреЗрдиреЗ рд╕реЗ, рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЖрдпрд╛рдо рдХрд╛ рдПрдХ рд╕рд░рдгреА рдорд┐рд▓реЗрдЧрд╛ред

рдпрд╣ рд▓реЗрдЦ рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдЕрд▓реНрдк рд╡рд┐рд╡рд░рдг рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИред

Source: https://habr.com/ru/post/In172859/


All Articles