[] T ;
Както можем да се досетим, в нашия пример с приюта за бездомни животни, можем да използваме тази възможност на езика С#, за да декларираме типа на полето animalsList, в което съхраняваме референции към обектите на приютените животни, вместо с конкретния тип Dog, с параметъра Т:
За сега нека приемем, че когато създаваме обект от нашия клас, подавайки конкретен тип (например Dog), по време на изпълнение на програмата неизвестният тип Т ще бъде заменен с въпросния тип. Ако сме избрали да създадем приют за кучета, можем да смятаме, че нашето поле е декларирано по следния начин:
private Dog[] animalList;
|
Съответно, когато искаме да инициализираме въпросното поле в конструктора на нашия клас, ще трябва да го направим по същия начин, както обикновено – създаваме масив, само че използвайки заместителя на неизвестния тип – Т:
public AnimalShelter(int placesNumber)
{
animalList = new T[placesNumber]; // Initialization
usedPlaces = 0;
}
|
Използване на неизвестните типове в декларация на методи
Тъй като един неизвестен тип, използван в декларацията на един типизиран клас е видим от отварящата до затварящата скоба на тялото на класа, освен за декларация на полета, той може да бъде използван и в декларацията на методи, а именно:
- Като параметър в списъка от параметри на метода:
Сподели с приятели: |