У нас просто была такая же проблема. Нашим решением было модифицировать код Fluorine для написания объектов.
В файле AMFWriter
, строка 1367
, прямо перед вызовом WriteAMF3Data(memberValue)
я добавил следующий код:
//Mapping null double?s to NaN when writing data.
if (memberValue == null)
{
System.Reflection.PropertyInfo p = type.GetProperty(classMember.Name);
if (p != null)
{
Type t = p.PropertyType; // t will be System.String
if (t.IsEquivalentTo(typeof(Nullable<Double>)))
memberValue = Double.NaN;
}
}
Кажется, до сих пор работает. Но я обычно не пишу в .NET, так что, возможно, есть лучший способ сделать это.