Exemple #1
0
        public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
        {
            if (instance != null)
            {
                // Interface is implemented by ViewModelWithTypeDescriptor
                return((ICustomTypeDescriptor)instance);
            }

            if (objectType != null)
            {
                IVMDescriptor classDescriptor = ClassDescriptorAttribute.GetClassDescriptorOf(objectType);
                if (classDescriptor != null)
                {
                    return(new ViewModelTypeDescriptor(classDescriptor));
                }
            }

            return(base.GetTypeDescriptor(objectType, instance)); // return an empty TypeDescriptor
        }
Exemple #2
0
        public void GetClassDescriptor_WhenOnlyBaseTypeHasAttribute_ReturnsClassDescriptor()
        {
            var actual = ClassDescriptorAttribute.GetClassDescriptorOf(typeof(DerivedViewModel));

            Assert.AreEqual(ViewModelWithClassDescriptor.ClazzDescriptor, actual);
        }
Exemple #3
0
        public void GetClassDescriptor_ForTypeWithClassDescriptorAttribute_ReturnsClassDescriptor()
        {
            var actual = ClassDescriptorAttribute.GetClassDescriptorOf(typeof(ViewModelWithClassDescriptor));

            Assert.AreEqual(ViewModelWithClassDescriptor.ClazzDescriptor, actual);
        }
Exemple #4
0
        public void GetClassDescriptor_ForTypeWithoutClassDescriptorAttribute_ReturnsNull()
        {
            var actual = ClassDescriptorAttribute.GetClassDescriptorOf(typeof(ViewModelWithoutClassDescriptor));

            Assert.IsNull(actual);
        }