C # - Хороший способ выставить Nullable <T> для COM
Мы работаем над раскрытием сборки для COM.
Среди прочего, мы часто используем такие значения, как long ?, DateTime? И т. Д. Это универсальные типы и могут 'не подвергаться воздействию COM.
Что является хорошей заменой этих типов данных для COM?
Мы попробовали следующее:
//Original CustomerID property in class
public long? CustomerID
{
get;
set;
}
//Explicit COM interface
long IComInterface.CustomerID
{
get { return CustomerID.GetValueOrDefault(); }
set { CustomerID = value; }
}
Проблема в том, что нам нужен способ пройти »ноль" туда и обратно через COM. Используя число как -1 или 0 выигралне работает, потому что это также допустимые значения.
Мы должны использовать Nullables B / C, они изначально пришли из нашей схемы базы данных.