/// <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); } } } }
/// <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); } } } }
protected override void Initialize() { var p = State.GetType().GetProperty("Name"); get = Literacy.CreateGetter(p); set = Literacy.CreateSetter(p); }
/// <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; }
/// <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; }
/// <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; }
/// <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; }
/// <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); } } } }