Что такое IExpando и где он используется? - PullRequest
4 голосов
/ 05 августа 2010

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

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

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

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

Спасибо

Ответы [ 2 ]

5 голосов
/ 05 августа 2010

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

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

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

2 голосов
/ 05 августа 2010

Это .NET-версия COM IDispatchEx возможность динамического добавления членов.

См. http://blogs.msdn.com/b/shrib/archive/2007/09/04/ireflect-and-idispatch.aspx

...