В моем коде я делал такие функции, как:DLR: IAttributesCollection устарел?
public void Foo([ParamsDictionary] IAttributesCollection kwargs) {}
Но мне было любопытно. Что все реализует этот интерфейс? Поэтому я спустил источник IronPython. В нем я нашел этот файл:
Src\Runtime\Microsoft.Scripting\Runtime\ParamDictionaryAttribute.cs
В строках 24-30 он имеет это:
/// Most languages which support params dictionaries will support the following types:
/// IDictionary<string, anything>
/// IDictionary<object, anything>
/// Dictionary<string, anything>
/// Dictionary<object, anything>
/// IDictionary
/// IAttributesCollection (deprecated)
Примечание устаревшие линии. Должен ли я использовать подпись метода, которую я имел выше, и вместо этого использовать IDictionary < string, object >? Каков предпочтительный способ объявления моих методов?
(Можно ли жирный текст в секциях кода?)