Beispiel #1
0
 public static void RegisterConverter(Type type, TypeConverter converter)
 {
     AssertUtility.ArgumentNotNull(type, "type");
     AssertUtility.ArgumentNotNull(converter, "converter");
     lock (_converters.SyncRoot)
     {
         _converters[type] = converter;
     }
 }
Beispiel #2
0
        internal static void BuildFragments(IHostBundleMetadataNode hostNode)
        {
            AssertUtility.ArgumentNotNull(hostNode, "hostNode");
            Interface1 metadata = hostNode.Metadata as Interface1;

            AssertUtility.ArgumentNotNull(metadata, "metadata");
            if ((metadata.Fragments != null) && (metadata.Fragments.Count != 0))
            {
                hostNode.DetachAllFragments();
                metadata.Fragments.ForEach(a => hostNode.AttachFragment((IFragmentBundleMetadataNode)hostNode.ConstraintResolver.UnResolverNodes.Find(node => node.Metadata == a)));
            }
        }
Beispiel #3
0
        public static TypeConverter GetConverter(Type type)
        {
            AssertUtility.ArgumentNotNull(type, "type");
            TypeConverter converter = (TypeConverter)_converters[type];

            if (converter != null)
            {
                return(converter);
            }
            if (type.IsEnum)
            {
                return(new EnumConverter(type));
            }
            return(TypeDescriptor.GetConverter(type));
        }