Пример #1
0
        public void TypeNameShouldNotSetType()
        {
            var attr = new XamlDeferLoadAttribute(typeof(TestDeferredLoader).AssemblyQualifiedName, typeof(DeferredLoadingChild).AssemblyQualifiedName);

            Assert.IsNull(attr.LoaderType, "#1");
            Assert.IsNull(attr.ContentType, "#2");
        }
Пример #2
0
        public void TypeShouldReturnName()
        {
            var attr = new XamlDeferLoadAttribute(typeof(TestDeferredLoader), typeof(DeferredLoadingChild));

            Assert.AreEqual(typeof(TestDeferredLoader).AssemblyQualifiedName, attr.LoaderTypeName, "#1");
            Assert.AreEqual(typeof(DeferredLoadingChild).AssemblyQualifiedName, attr.ContentTypeName, "#2");
        }
Пример #3
0
 public Type[] GetAttributeTypes(Type attributeType, int count)
 {
     if (CustomAttributeProvider != null)
     {
         object[] attributes = CustomAttributeProvider.GetCustomAttributes(attributeType, false);
         if (attributes.Length == 0)
         {
             return(null);
         }
         Debug.Assert(attributeType == typeof(XamlDeferLoadAttribute));
         Debug.Assert(count == 2);
         XamlDeferLoadAttribute tca = (XamlDeferLoadAttribute)attributes[0];
         Type converterType         = XamlNamespace.GetTypeFromFullTypeName(tca.LoaderTypeName);
         Type contentType           = XamlNamespace.GetTypeFromFullTypeName(tca.ContentTypeName);
         return(new Type[] { converterType, contentType });
     }
     try
     {
         CustomAttributeData cad = GetAttribute(attributeType);
         if (cad == null)
         {
             return(null);
         }
         return(ExtractTypes(cad, count));
     }
     catch (CustomAttributeFormatException)
     {
         CustomAttributeProvider = Member;
         return(GetAttributeTypes(attributeType, count));
     }
 }
Пример #4
0
 public Type[] GetAttributeTypes(Type attributeType, int count)
 {
     if (this.CustomAttributeProvider != null)
     {
         object[] customAttributes = this.CustomAttributeProvider.GetCustomAttributes(attributeType, false);
         if (customAttributes.Length == 0)
         {
             return(null);
         }
         XamlDeferLoadAttribute attribute = (XamlDeferLoadAttribute)customAttributes[0];
         Type typeFromFullTypeName        = XamlNamespace.GetTypeFromFullTypeName(attribute.LoaderTypeName);
         Type type2 = XamlNamespace.GetTypeFromFullTypeName(attribute.ContentTypeName);
         return(new Type[] { typeFromFullTypeName, type2 });
     }
     try
     {
         CustomAttributeData cad = this.GetAttribute(attributeType);
         if (cad == null)
         {
             return(null);
         }
         return(this.ExtractTypes(cad, count));
     }
     catch (CustomAttributeFormatException)
     {
         this.CustomAttributeProvider = this.Member;
         return(this.GetAttributeTypes(attributeType, count));
     }
 }
Пример #5
0
		public void TypeNameShouldNotSetType()
		{
			var attr = new XamlDeferLoadAttribute(typeof(TestDeferredLoader).AssemblyQualifiedName, typeof(DeferredLoadingChild).AssemblyQualifiedName);
			Assert.IsNull(attr.LoaderType, "#1");
			Assert.IsNull(attr.ContentType, "#2");
		}
Пример #6
0
		public void TypeShouldReturnName()
		{
			var attr = new XamlDeferLoadAttribute(typeof(TestDeferredLoader), typeof(DeferredLoadingChild));
			Assert.AreEqual(typeof(TestDeferredLoader).AssemblyQualifiedName, attr.LoaderTypeName, "#1");
			Assert.AreEqual(typeof(DeferredLoadingChild).AssemblyQualifiedName, attr.ContentTypeName, "#2");
		}