Расширение запечатанных внутренних типов данных с помощью CompilerServices.Extensions-Нет способа повторного использования? - PullRequest
0 голосов
/ 12 ноября 2010

Я определил следующее расширение Даты?тип данных

'Nullable Date Extensions
<System.Runtime.CompilerServices.Extension()> _
Public Function ToObject(ByVal thisInstance As Date?) As Object
    Return If(thisInstance.HasValue, CType(thisInstance, Object), DBNull.Value)
End Function

, который дал мне краткую возможность сделать это:

Public Property MyDateTime() As Date?

rowTest.Item("MyDate") = Me.MyDate.ToObject

Но когда я переместил свое определение компилятора в отдельную DLL, я не смог использовать метод ToObjectиз моего проекта, хотя я ссылался на проект Class, который теперь содержал расширение.

Является ли это ограничением расширений компилятора?КАК вы получаете возможность многократного использования из них?

1 Ответ

0 голосов
/ 12 ноября 2010

Вам нужно будет включить пространство имен .ToObject (пространство имен, содержащее ваши расширения дат Nullable) в ваш целевой файл в другом проекте.

...