Gute Möglichkeit, Nullable <T> für COM verfügbar zu machen

Wir arbeiten daran, eine Assembly für COM verfügbar zu machen.

Unter anderem verwenden wir häufig nullfähige Werte wie long ?, DateTime? Usw. Dies sind generische Typen, die nicht für COM verfügbar gemacht werden können.

Was ist ein guter Ersatz für diese Datentypen für COM?

Wir haben Folgendes versucht:

//Original CustomerID property in class
public long? CustomerID
{
   get;
   set;
}

//Explicit COM interface
long IComInterface.CustomerID
{
  get { return CustomerID.GetValueOrDefault(); }
  set { CustomerID = value; }
}

Das Problem ist, wir brauchen eine Möglichkeit, "Null" durch COM hin und her zu übergeben. Die Verwendung einer Zahl wie -1 oder 0 funktioniert nicht, da dies ebenfalls gültige Werte sind.

Wir müssen nullables b / c verwenden, die ursprünglich aus unserem Datenbankschema stammen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage