\

Školení Návrhové vzory, OOP a UML


 Tuesday, April 12, 2005
Prezentace a příklady z přednášky o C# 2.0

Uvolnil jsem prezentaci a příklady ze včerejší přednášky o C# 2.0

Stažení prezentace, velikost 313 KB

Stažení příkladů (testovány na prosincovém CP buildu VS.NET), velikost 170 KB

Protože při diskuzi zazněl zajímavý dotaz na téma dynamického vytváření uzavřeného konstruovaného generického typu pomocí reflection, přidal jsem další příklad, který ukazuje, že máme v C# (a v .Net Frameworku obecně) i za běhu aplikace k dispozici všechny informace o generickém typu, a proto můžeme provádět "kouzla", která jsou v C++ nebo v JAVĚ zapovězená a nedostupná.

        static void Main(string[] args)         
        {
            //Získání generického typu
            Type poolType = typeof(ObjectPool<>);
           
            //Vytvoření generických argumentů
            //(typ SomeResource substituující generický parametr T z třídy ObjectPool)
            Type[] genArguments = new Type[]{typeof(SomeResource)};
            //Dynamické vytvoření uzavřeného konstruovaného typu ObjectPool<SomeResource>
            Type constructedType = poolType.BindGenericParameters(genArguments);
            //Vytvoření instance typu ObjectPool<SomeResource>
            Object conType = Activator.CreateInstance(constructedType, new Object[]{10});
           
            Console.WriteLine(conType.ToString());
        }



Tuesday, April 12, 2005 12:58:00 PM (Central Europe Standard Time, UTC+01:00)       
Comments [3]