Что означает ключевое слово сборки в AssemblyInfo.cs. Разрешает ли он использовать метод внутри?
Выделите фрагмент кода внутри AssemblyInfo.cs, например
[assembly: someattributename]
Что означает этот код?
Я даже видел какой-то метод, который можно использовать внутри сборки, например
[assembly: log4net.Config.XmlConfigurator(Watch=true)]
Этот атрибут больше?
Ответы
Ответ 1
Атрибуты всегда применяются к элементу (например, к методу, свойству). Префикс "сборка:" означает, что атрибут (часть, которую вы пропустили с использованием "*" ), применяется к сборке.
Применение атрибутов на уровне сборки. Если вы хотите применить атрибут на уровне сборки, используйте ключевое слово Assembly. Следующий код показывает атрибут AssemblyNameAttribute, применяемый на уровне сборки.
using System.Reflection;
[assembly:AssemblyTitle("My Assembly")]
Когда этот атрибут применяется, строка "MyAssembly" помещается в манифест сборки в части метаданных файла. Вы можете просмотреть атрибут либо с помощью MSIL Disassembler (Ildasm.exe), либо путем создания пользовательской программы для извлечения атрибута.
Ответ 2
Это означает, что это атрибут на самой сборке, а не на определенный класс, метод, свойство и т.д.
Ответ 3
Это атрибуты сборки, как описано здесь.
Они составляют информацию о версии для вашей сборки (или: исполняемый файл), например.
Ответ 4
Общие сведения об этой сборке контролируются с помощью этого набора атрибутов.
простое объяснение показано в этой Ссылка
Ответ 5
assembly:
- это то, что известно как цель атрибута. Он указывает, что атрибут применяется к самой сборке, а не к любым типам внутри сборки. Некоторые другие целевые объекты атрибута: module
, return
и param
.
См. " Атрибуты (С# и Visual Basic)".
Ответ 6
Во вторую (отредактированную) часть вашего ответа:
Нет, это не вызов метода. log4net.Config.XmlConfigurator
также является attribute, определяемым log4net. (См. документация для деталей журнала4.) Его точное объявление
public class XmlConfiguratorAttribute : ConfiguratorAttribute
В этом случае немного ошибочно вводится соглашение об именовании атрибутов. Это означает, что при использовании атрибута (даже на уровне сборки) вы можете оставить суффикс Attribute
из имени класса атрибута.