public T?ReadValue(IValueReader valueReader) { if (valueReader.GetBasicType() == BasicTypes.Null) { var directValue = valueReader.DirectRead(); if (directValue == null) { return(null); } return(DConvert <T> .Convert(directValue)); } return(ValueInterface <T> .Content.ReadValue(valueReader)); }