コード例 #1
0
ファイル: XamlValueConverter.cs プロジェクト: zx597855313/wpf
        public override bool Equals(object obj)
        {
            XamlValueConverter <TConverterBase> other = obj as XamlValueConverter <TConverterBase>;

            if (object.ReferenceEquals(other, null))
            {
                return(false);
            }
            return(this == other);
        }
コード例 #2
0
 internal MemberReflector(XamlType type, XamlValueConverter <System.ComponentModel.TypeConverter> typeConverter)
 {
     this.Type = type;
     this._typeConverter.Value             = typeConverter;
     this._designerSerializationVisibility = DesignerSerializationVisibility.Visible;
     this._memberBits            = -65440;
     this._deferringLoader.Value = null;
     this._getter.Value          = null;
     this._setter.Value          = null;
     this._valueSerializer.Value = null;
 }
コード例 #3
0
 internal static XamlValueConverter <ValueSerializer> GetValueSerializer(Type targetType)
 {
     if (!(typeof(string) == targetType))
     {
         return(null);
     }
     if (object.ReferenceEquals(s_StringSerializer, null))
     {
         ValueSerializer stringSerializer = ValueSerializer.GetSerializerFor(typeof(string));
         s_StringSerializer = new BuiltInValueConverter <ValueSerializer>(stringSerializer.GetType(), () => stringSerializer);
     }
     return(s_StringSerializer);
 }
コード例 #4
0
ファイル: MemberReflector.cs プロジェクト: xhowar/lindexi_gd
        ///<summary>Ctor used by directives</summary>
        internal MemberReflector(XamlType type, XamlValueConverter <TypeConverter> typeConverter)
        {
            Type = type;
            _typeConverter.Value             = typeConverter;
            _designerSerializationVisibility = DesignerSerializationVisibility.Visible;
            _memberBits = (int)BoolMemberBits.Directive | (int)BoolMemberBits.AllValid;

            // Explicitly set all the nullable references so that IsSet is true
            _deferringLoader.Value = null;
            _getter.Value          = null;
            _setter.Value          = null;
            _valueSerializer.Value = null;
        }
コード例 #5
0
 internal static XamlValueConverter <TypeConverter> GetTypeConverter(Type targetType)
 {
     if (typeof(string) == targetType)
     {
         return(String);
     }
     if (typeof(object) == targetType)
     {
         return(Object);
     }
     if (typeof(int) == targetType)
     {
         return(Int32);
     }
     if (typeof(short) == targetType)
     {
         if (object.ReferenceEquals(s_Int16, null))
         {
             s_Int16 = new BuiltInValueConverter <TypeConverter>(typeof(Int16Converter), () => new Int16Converter());
         }
         return(s_Int16);
     }
     if (typeof(long) == targetType)
     {
         if (object.ReferenceEquals(s_Int64, null))
         {
             s_Int64 = new BuiltInValueConverter <TypeConverter>(typeof(Int64Converter), () => new Int64Converter());
         }
         return(s_Int64);
     }
     if (typeof(uint) == targetType)
     {
         if (object.ReferenceEquals(s_UInt32, null))
         {
             s_UInt32 = new BuiltInValueConverter <TypeConverter>(typeof(UInt32Converter), () => new UInt32Converter());
         }
         return(s_UInt32);
     }
     if (typeof(ushort) == targetType)
     {
         if (object.ReferenceEquals(s_UInt16, null))
         {
             s_UInt16 = new BuiltInValueConverter <TypeConverter>(typeof(UInt16Converter), () => new UInt16Converter());
         }
         return(s_UInt16);
     }
     if (typeof(ulong) == targetType)
     {
         if (object.ReferenceEquals(s_UInt64, null))
         {
             s_UInt64 = new BuiltInValueConverter <TypeConverter>(typeof(UInt64Converter), () => new UInt64Converter());
         }
         return(s_UInt64);
     }
     if (typeof(bool) == targetType)
     {
         if (object.ReferenceEquals(s_Boolean, null))
         {
             s_Boolean = new BuiltInValueConverter <TypeConverter>(typeof(BooleanConverter), () => new BooleanConverter());
         }
         return(s_Boolean);
     }
     if (typeof(double) == targetType)
     {
         if (object.ReferenceEquals(s_Double, null))
         {
             s_Double = new BuiltInValueConverter <TypeConverter>(typeof(DoubleConverter), () => new DoubleConverter());
         }
         return(s_Double);
     }
     if (typeof(float) == targetType)
     {
         if (object.ReferenceEquals(s_Single, null))
         {
             s_Single = new BuiltInValueConverter <TypeConverter>(typeof(SingleConverter), () => new SingleConverter());
         }
         return(s_Single);
     }
     if (typeof(byte) == targetType)
     {
         if (object.ReferenceEquals(s_Byte, null))
         {
             s_Byte = new BuiltInValueConverter <TypeConverter>(typeof(ByteConverter), () => new ByteConverter());
         }
         return(s_Byte);
     }
     if (typeof(sbyte) == targetType)
     {
         if (object.ReferenceEquals(s_SByte, null))
         {
             s_SByte = new BuiltInValueConverter <TypeConverter>(typeof(SByteConverter), () => new SByteConverter());
         }
         return(s_SByte);
     }
     if (typeof(char) == targetType)
     {
         if (object.ReferenceEquals(s_Char, null))
         {
             s_Char = new BuiltInValueConverter <TypeConverter>(typeof(CharConverter), () => new CharConverter());
         }
         return(s_Char);
     }
     if (typeof(decimal) == targetType)
     {
         if (object.ReferenceEquals(s_Decimal, null))
         {
             s_Decimal = new BuiltInValueConverter <TypeConverter>(typeof(DecimalConverter), () => new DecimalConverter());
         }
         return(s_Decimal);
     }
     if (typeof(TimeSpan) == targetType)
     {
         if (object.ReferenceEquals(s_TimeSpan, null))
         {
             s_TimeSpan = new BuiltInValueConverter <TypeConverter>(typeof(TimeSpanConverter), () => new TimeSpanConverter());
         }
         return(s_TimeSpan);
     }
     if (typeof(Guid) == targetType)
     {
         if (object.ReferenceEquals(s_Guid, null))
         {
             s_Guid = new BuiltInValueConverter <TypeConverter>(typeof(GuidConverter), () => new GuidConverter());
         }
         return(s_Guid);
     }
     if (typeof(Type).IsAssignableFrom(targetType))
     {
         if (object.ReferenceEquals(s_Type, null))
         {
             s_Type = new BuiltInValueConverter <TypeConverter>(typeof(TypeTypeConverter), () => new TypeTypeConverter());
         }
         return(s_Type);
     }
     if (typeof(Type[]).IsAssignableFrom(targetType))
     {
         if (object.ReferenceEquals(s_TypeList, null))
         {
             s_TypeList = new BuiltInValueConverter <TypeConverter>(typeof(System.Xaml.Replacements.TypeListConverter), () => new System.Xaml.Replacements.TypeListConverter());
         }
         return(s_TypeList);
     }
     if (typeof(DateTime) == targetType)
     {
         if (object.ReferenceEquals(s_DateTime, null))
         {
             s_DateTime = new BuiltInValueConverter <TypeConverter>(typeof(DateTimeConverter2), () => new DateTimeConverter2());
         }
         return(s_DateTime);
     }
     if (typeof(DateTimeOffset) == targetType)
     {
         if (object.ReferenceEquals(s_DateTimeOffset, null))
         {
             s_DateTimeOffset = new BuiltInValueConverter <TypeConverter>(typeof(DateTimeOffsetConverter2), () => new DateTimeOffsetConverter2());
         }
         return(s_DateTimeOffset);
     }
     if (typeof(CultureInfo).IsAssignableFrom(targetType))
     {
         if (object.ReferenceEquals(s_CultureInfo, null))
         {
             s_CultureInfo = new BuiltInValueConverter <TypeConverter>(typeof(CultureInfoConverter), () => new CultureInfoConverter());
         }
         return(s_CultureInfo);
     }
     if (!typeof(Delegate).IsAssignableFrom(targetType))
     {
         return(null);
     }
     if (object.ReferenceEquals(s_Delegate, null))
     {
         s_Delegate = new BuiltInValueConverter <TypeConverter>(typeof(EventConverter), () => new EventConverter());
     }
     return(s_Delegate);
 }
コード例 #6
0
 public bool Equals(XamlValueConverter <TConverterBase> other)
 {
     return(!IsNull(other) && ConverterType == other.ConverterType && TargetType == other.TargetType && Name == other.Name);
 }
コード例 #7
0
 static bool IsNull(XamlValueConverter <TConverterBase> a)
 {
     return(Object.ReferenceEquals(a, null));
 }
コード例 #8
0
ファイル: XamlValueConverter.cs プロジェクト: zx597855313/wpf
 public bool Equals(XamlValueConverter <TConverterBase> other)
 {
     return(this == other);
 }
コード例 #9
0
 public bool Equals(XamlValueConverter <TConverterBase> other)
 {
     return(!ReferenceEquals(other, null) && ConverterType == other.ConverterType && TargetType == other.TargetType && Name == other.Name);
 }