public static CustomObjectPropertyInfo CustomRead(object receiver, string localName, string modelName, Func <string> versionFunc) { ICustomReader reader = receiver as ICustomReader; if (reader != null) { string version; if (reader.SupportVersion) { TkDebug.AssertNotNull(versionFunc, "ICustomer的SupportVersion为true,但是versionFunc传入是null", receiver); version = versionFunc(); } else { version = null; } var result = reader.CanRead(localName, version); if (result != null) { var info = new CustomObjectPropertyInfo(localName, reader, result, version, modelName); return(info); } } return(null); }
private CustomObjectPropertyInfo(CustomObjectPropertyInfo source, BaseObjectAttribute attribute) : base(attribute, source.ModelName) { fVersion = source.fVersion; fLocalName = source.fLocalName; fReader = source.fReader; fType = source.fType; Converter = source.Converter; fQName = CreateQName(fLocalName); }