Когда ParameterInfo.IsLcid или ParameterInfo.IsRetval имеют значение true?

Я нахожу этот вопрос в Переполнении стека при поиске в Google, но он был удален. Поэтому я снова перечисляю этот вопрос.

Как я не могу найти LcidAttribute или же RetvalAttribute в BCL, я думаю, C# не предоставил поддержку параметра идентификатора локали и параметра возвращаемого значения.

Это оно?

Спасибо всем.

1 ответ

Решение

Они связаны с перечислением ParameterAttributes. Который используется в метаданных для параметра метода, только компилятор может выдавать [modopt].

Я не знаю компилятор, который на самом деле это делает. Я имею приличное предположение на фоне, хотя, эти атрибуты также используются в IDL. Какой язык описания интерфейса используется в COM и RPC. Наличие этой опции гарантирует, что метаданные.NET могут также описывать тип объявлений, которые написаны в IDL и могут появляться в библиотеках типов.

Атрибут [lcid] описан здесь. Это на самом деле не описывает использование, и я никогда не использовал его сам. Понятия не имею, зачем вам это использовать.

Атрибут [retval] описан здесь. Очень важно в объявлениях метода автоматизации COM, он отмечает параметр, который возвращает значение метода. И используемый таким инструментом, как Tlbimp.exe, он переписывает метод, чтобы сделать этот параметр типом возвращаемого значения.

Другие вопросы по тегам