Beispiel #1
0
 /// <summary> 加载Setter
 /// </summary>
 public void LoadSetter()
 {
     if (Setter != PreSetter)
     {
         return;
     }
     lock (this)
     {
         if (Setter == PreSetter) //Setter未编译
         {
             if (!CanWrite)       //当前成员可读
             {
                 Setter = ErrorSetter;
             }
             else if (Field)
             {
                 Setter = ZTReflector.CreateSetter((FieldInfo)_Member);
             }
             else
             {
                 Setter = ZTReflector.CreateSetter((PropertyInfo)_Member);
             }
         }
     }
 }
Beispiel #2
0
 /// <summary> 加载Setter
 /// </summary>
 public void LoadSetter()
 {
     if (Setter != PreSetter)
     {
         return;
     }
     lock (this)
     {
         if (Setter == PreSetter) //Setter未编译
         {
             if (!CanWrite)       //当前成员可写
             {
                 Setter = ErrorSetter;
             }
             else if (Field)
             {
                 Setter = Literacy.CreateSetter((FieldInfo)MemberInfo);
             }
             else
             {
                 Setter = Literacy.CreateSetter((PropertyInfo)MemberInfo);
             }
         }
     }
 }
Beispiel #3
0
        protected override void Initialize()
        {
            var p = State.GetType().GetProperty("Name");

            get = Literacy.CreateGetter(p);
            set = Literacy.CreateSetter(p);
        }
Beispiel #4
0
 /// <summary> 初始化
 /// </summary>
 private void Init()
 {
     Name      = MemberInfo.Name;
     ClassType = MemberInfo.DeclaringType;
     if (OriginalType.IsValueType)
     {
         MemberType = System.Nullable.GetUnderlyingType(OriginalType);
         Nullable   = MemberType != null;
     }
     MemberType = MemberType ?? OriginalType;
     Getter     = PreGetter;
     Setter     = PreSetter;
 }
Beispiel #5
0
 /// <summary> 初始化
 /// </summary>
 private void Init()
 {
     Name      = MemberInfo.Name;
     ClassType = MemberInfo.DeclaringType;
     TypeInfo  = TypesHelper.GetTypeInfo(OriginalType);
     if (TypeInfo.IsNullable)
     {
         Nullable   = true;
         MemberType = TypeInfo.NullableUnderlyingType.Type;
     }
     else
     {
         MemberType = OriginalType;
     }
     Getter = PreGetter;
     Setter = PreSetter;
 }
Beispiel #6
0
        /// <summary> 初始化
        /// </summary>
        private void Init()
        {
            Name      = MemberInfo.Name;
            ClassType = MemberInfo.DeclaringType;
            var nullable = System.Nullable.GetUnderlyingType(OriginalType);

            if (nullable != null)
            {
                Nullable   = true;
                MemberType = nullable;
            }
            else
            {
                MemberType = OriginalType;
            }
            Getter = PreGetter;
            Setter = PreSetter;
        }
Beispiel #7
0
 /// <summary> 初始化
 /// </summary>
 private void Init() {
     Name = MemberInfo.Name;
     ClassType = MemberInfo.DeclaringType;
     if (OriginalType.IsValueType) {
         MemberType = System.Nullable.GetUnderlyingType(OriginalType);
         Nullable = MemberType != null;
     }
     MemberType = MemberType ?? OriginalType;
     Getter = PreGetter;
     Setter = PreSetter;
 }
Beispiel #8
0
 /// <summary> 加载Setter
 /// </summary> 
 public void LoadSetter() {
     if (Setter != PreSetter) {
         return;
     }
     lock (this) {
         if (Setter == PreSetter) //Setter未编译
         {
             if (!CanWrite) //当前成员可读
             {
                 Setter = ErrorSetter;
             } else if (Field) {
                 Setter = Literacy.CreateSetter((FieldInfo)MemberInfo);
             } else {
                 Setter = Literacy.CreateSetter((PropertyInfo)MemberInfo);
             }
         }
     }
 }