2013-10-11 3 views

ответ

4

следует реализовать Ncache IGenericTypeProvider интерфейс с Runtime.dll класс GenericTypeProvider1: IGenericTypeProvider { #region IGenericTypeProvider Пользователи

public Type[] GetGenericTypes() 
    { 
     ArrayList aryList = new ArrayList(); 

     #region Classes that hold generic types inside or inherited from the generic types... 
     aryList.Add(new PrimitiveTypes()); 
     aryList.Add(new ComplexTypes()); 
     aryList.Add(new UnsignedTypes()); 
     aryList.Add(new GenericHolder()); 
     aryList.Add(new GenericChild()); 
     #endregion 

     #region Custom Generic objects that take only one type arguemt ... 
     aryList.Add(new GenericClass<string>()); 
     aryList.Add(new GenericClass<bool>()); 
     aryList.Add(new GenericClass<double>()); 
     aryList.Add(new GenericClass<byte[]>()); 
     aryList.Add(new GenericClass<DateTime>()); 
     aryList.Add(new GenericClass<TimeSpan>()); 
     aryList.Add(new GenericClass<Guid>()); 
     aryList.Add(new GenericClass<Product>()); 
     aryList.Add(new GenericClass<AllTypes>()); 
     aryList.Add(new GenericClass<NullableObject>()); 
     aryList.Add(new GenericClass<List<AllTypes>>()); 
     aryList.Add(new GenericClass<List<AllDataTypes>>()); 
     aryList.Add(new GenericClass<List<NullableObject>>()); 
     aryList.Add(new GenericClass<Dictionary<string, NullableObject>>()); 
     aryList.Add(new GenericClass<List<GenericList<NullableObject>>>()); 
     aryList.Add(new GenericClass<List<Dictionary<string, NullableObject>>>()); 
     #endregion 

     //--- Populate the type array with the types of the above given objects ... 
     Type[] types = new Type[aryList.Count]; 
     for (int i = 0; i < types.Length; i++) 
      types[i] = aryList[i].GetType(); 


     return types; 
    } 
Смежные вопросы