Статичните методи също могат да бъдат типизирани, докато свойства и конструкторите на класа не могат.
Особености при деклариране на типизирани методи в типизирани класове
Както видяхме в секцията "Използване на неизвестните типове в декларацията на методи", нетипизираните методи могат да използват неизвестните типове, описани в декларацията на типизирания клас (например методите Shelter() и Release() от примера за приюта за бездомни животни):
AnimalShelter.cs
|
public class AnimalShelter
{
// ... rest of the code ...
public void Shelter(T newAnimal)
{
// Method body here
}
public T Release(int i)
{
// Method body here
}
}
|
Ако обаче, се опитаме да преизползваме променливата, с която сме означили непознатия тип на типизирания клас, например T, при декларацията на типизиран метод, тогава при опит за компилиране на класа, ще получим предупреждение (warning) CS0693, тъй като в областта на действие, на неизвестния тип T, дефиниран при декларацията на метода, припокрива областта на действие на неизвестния тип T, в декларацията на класа:
Сподели с приятели: |