示例#1
0
        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);
 }