Что такое IExpando и где он используется?

Я просматривал типы в mscorlib с помощью отражателя (как и вы ...) и наткнулся на интерфейс IExpando в пространстве имен System.Runtime.InteropServices.Expando.

Я поискал в отражателе и даже проверил MSDN, кажется, что никакие типы в mscorlib не реализуют этот интерфейс. В MSDN также нет примеров кода.

Кто-нибудь реализовал этот интерфейс в собственном коде?

Кто-нибудь знает, для чего именно он используется?

Спасибо


person fletcher    schedule 05.08.2010    source источник
comment
iirc, это как-то связано с динамическими типами - но я могу ошибаться. Просто посмотрел ссылку, и я считаю, что она позволяет добавлять динамические свойства к динамическому типу. Я уверен, что скоро кто-то еще даст правильный ответ.   -  person cristobalito    schedule 05.08.2010
comment
Посмотрите Microsoft.JScript.JSObject в сборке Microsoft.JScript - существуют различные реализации интерфейса IExpando.   -  person Jaroslav Jandek    schedule 05.08.2010
comment
@ Джоан: я думаю, это техасец. Посмотрите expandomatic.   -  person Hans Passant    schedule 08.08.2010


Ответы (2)


Да, сегодня это немного не к месту. Это управляемое объявление типа интерфейса COM. Также обратите внимание на ComTypes.IExpando и InteropServices.UCOMIExpando. Основные интерфейсы для среды выполнения сценариев для реализации пакетов свойств. В частности, для Javascript проверьте эту ветку.

Microsoft возлагала большие надежды на JScript, это был основной язык, поддерживаемый вместе с C #, VB.NET и Managed C ++. Это не сработало.

Забытый, но не совсем мертвый. Класс ExpandoObject вернулся в .NET 4.0

person Hans Passant    schedule 05.08.2010