Ejemplo n.º 1
0
 /// <summary>
 /// Get the data converter for the given type
 /// </summary>
 /// <param name="Type">The type to get the data converter for</param>
 /// <returns>The default data converter for this type</returns>
 public static IMDDataConverter GetConverterForType(Type Type)
 {
     if (!DataConverterCache.ContainsKey(Type))
     {
         IMDDataConverter converter = _InternalGetConverterForType(Type);
         if (converter.AllowCachingOfConverter())
         {
             DataConverterCache.Add(Type, converter);
         }
         else
         {
             return(converter);
         }
     }
     return(DataConverterCache[Type]);
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Create a data converter of the given type or get it from the buffer if it already exists
 /// </summary>
 /// <param name="ConverterType">The data converter type to create</param>
 /// <returns>The data convert for that type or null if it is not a valid data converter</returns>
 public static IMDDataConverter CreateConverterOfType(Type DataConverterType)
 {
     if (DataConverterType != null && DataConverterType.IsAssignableFrom(typeof(IMDDataConverter)))
     {
         if (!DataConverterTypeCache.ContainsKey(DataConverterType))
         {
             IMDDataConverter converter = Activator.CreateInstance(DataConverterType) as IMDDataConverter;
             if (converter.AllowCachingOfConverter())
             {
                 DataConverterTypeCache.Add(DataConverterType, converter);
             }
             else
             {
                 return(converter);
             }
         }
         return(DataConverterTypeCache[DataConverterType]);
     }
     return(null);
 }