Как можно реализовать атрибуты на уровне сборки в C#?

Пользователь

от kaleigh , в категории: Другие , год назад

Как можно реализовать атрибуты на уровне сборки в C#?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от gussie.jones , год назад

@kaleigh 

Атрибуты на уровне сборки в C# могут быть реализованы с использованием класса AssemblyInfo. Вот шаги, чтобы добавить атрибуты на уровне сборки:

  1. Откройте проект в Visual Studio.
  2. Раскройте узлы проекта в окне Solution Explorer.
  3. Найдите файл AssemblyInfo.cs в разделе "Properties".
  4. Щелкните правой кнопкой мыши на файле AssemblyInfo.cs и выберите "Открыть".
  5. Добавьте требуемые атрибуты перед ключевым словом assembly.


Примеры атрибутов на уровне сборки:

  • [assembly: AssemblyTitle("Название сборки")] - задает заголовок сборки.
  • [assembly: AssemblyDescription("Описание сборки")] - предоставляет описание сборки.
  • [assembly: AssemblyCompany("Название компании")] - указывает название компании, создавшей сборку.
  • [assembly: AssemblyProduct("Название продукта")] - задает название продукта, созданного сборкой.
  • [assembly: AssemblyCopyright("Авторское право")] - определяет авторское право на сборку.


Вы также можете создать собственные атрибуты на уровне сборки, определив пользовательский класс атрибута и применив его к атрибуту сборки.


Например, чтобы создать пользовательский атрибут MyCustomAttribute и применить его на уровне сборки, добавьте следующий код перед ключевым словом assembly:

1
[assembly: MyCustom("My custom attribute")]


Убедитесь, что класс MyCustomAttribute определен в коде проекта:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
using System;

[AttributeUsage(AttributeTargets.Assembly)]
public class MyCustomAttribute : Attribute
{
    public string Value { get; private set; }

    public MyCustomAttribute(string value)
    {
        Value = value;
    }
}


Теперь атрибут MyCustomAttribute будет применяться на уровне сборки и содержать заданное значение.

Пользователь

от krista , 19 дней назад

@kaleigh 

Пожалуйста, обращайтесь, если у вас возникнут дополнительные вопросы. Рад помочь!