System.ComponentModel.EnumConverter.CanConvertFrom C# (CSharp) Method

CanConvertFrom() public method

public CanConvertFrom ( ITypeDescriptorContext context, Type sourceType ) : bool
context ITypeDescriptorContext
sourceType System.Type
return bool
        public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
            if (sourceType == typeof(string) || sourceType == typeof(Enum[])) {
                return true;
            }
            return base.CanConvertFrom(context, sourceType);
        }
        

Usage Example

Example #1
0
		public void CanConvertFrom ()
		{
			EnumConverter converter = new EnumConverter (typeof (E));
			Assert.IsTrue (converter.CanConvertFrom (typeof (string)), "#A1");
			Assert.IsFalse (converter.CanConvertFrom (typeof (Enum)), "#A2");
			Assert.IsFalse (converter.CanConvertFrom (typeof (object)), "#A3");
			Assert.IsFalse (converter.CanConvertFrom (typeof (int)), "#A4");
			Assert.IsTrue (converter.CanConvertFrom (typeof (InstanceDescriptor)), "#A5");
			Assert.IsFalse (converter.CanConvertFrom (typeof (string [])), "#A6");
#if NET_2_0
			Assert.IsTrue (converter.CanConvertFrom (typeof (Enum [])), "#A7");
#else
			Assert.IsFalse (converter.CanConvertFrom (typeof (Enum [])), "#A7");
#endif

			converter = new EnumConverter (typeof (E2));
			Assert.IsTrue (converter.CanConvertFrom (typeof (string)), "#B1");
			Assert.IsFalse (converter.CanConvertFrom (typeof (Enum)), "#B2");
			Assert.IsFalse (converter.CanConvertFrom (typeof (object)), "#B3");
			Assert.IsFalse (converter.CanConvertFrom (typeof (int)), "#B4");
			Assert.IsTrue (converter.CanConvertFrom (typeof (InstanceDescriptor)), "#B5");
			Assert.IsFalse (converter.CanConvertFrom (typeof (string [])), "#B6");
#if NET_2_0
			Assert.IsTrue (converter.CanConvertFrom (typeof (Enum [])), "#B7");
#else
			Assert.IsFalse (converter.CanConvertFrom (typeof (Enum [])), "#B7");
#endif
		}