COM-взаимодействие: Что мне делать, чтобы свойство C # можно было использовать как ВАРИАНТ от VBA

Скажем, у меня есть свойство C # Nullable DateTime? , которое должно использоваться VBA через COM.

    public DateTime? TestDate {
        get ; set;
    }

К сожалению, значения Nullable не видны через COM , поэтому я хотел бы, чтобы свойство возвращало что-то, что будет рассматриваться как вариант из VBA.

К сожалению, я не уверен, как это должно быть написано.

Я пробовал использовать объект и динамический вместо DateTime? : пока я могу получить значение свойства, я не могу его установить (я получаю Ошибка времени выполнения '424' Требуется объект ошибок от VBA).

Примечание : у меня нет проблемы с отображением моей библиотеки COM: все работает нормально, и я могу без проблем использовать типы .Net из VBA, за исключением этой конкретной проблемы.

Спасибо за любые указатели.

EDIT : Я нашел интересная страница, описывающая маршалинг по умолчанию для объектов , но я не могу объяснить, почему я не могу установить свое свойство, если оно объявлено как объект .
Я что-то упускаю.

8
задан Renaud Bompuis 23 June 2011 в 14:35
поделиться