سؤال

In NCache Manager for every Cache you have to define compact type seperatly in case of generic Is there any way to provide all the classes at once to Cache Compact

هل كانت مفيدة؟

المحلول

you should implement Ncache IGenericTypeProvider Interface from Runtime.dll class GenericTypeProvider1 : IGenericTypeProvider { #region IGenericTypeProvider Members

    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;
    }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top