2016-04-11 1 views
2

Если следующее является общим объектом:Нейминг: необщего

public class Kennel<T> 
{ 
    public List<T> Animals { get; set; } 
} 

Это было бы необщего объект: \

public class Kennel 
{ 
    public List<Dog> Animals { get; set; } 
} 

Есть хороший термин для не- общий класс (помимо не общего)?

+1

Стандартный или, может быть, конкретный? –

+0

Yea - бетон довольно хорош, но я уже использую его для описания не-абстрактных классов ... что является другим способом классификации классов ... возможно, если бы я мог подумать о более качественном описании не-абстрактного класса? – William

ответ

4

В спецификации C# нет хорошего термина, определенного для того, что вы хотите. Спецификация определяет:

  • Открытый тип включает параметр типа; все не открытые типы являются закрытыми типами. Таким образом, все не общие типы являются закрытыми типами, но так же List<int>. Никакого параметра типа нет; int - это тип аргумент. List<T> - открытый тип.

  • Несвязанный тип - это либо не общий тип, либо тип объявления общего типа. Например, если вы скажете class C<T>, то абстрактное понятие «C -of-one-type-parameter» является несвязанным типом, а C<int> является связанным типом. Неродные типы связаны и несвязаны, так что это тоже не поможет. Обратите внимание, что в class C<T> { public static C<T> c; } второй C<T> является связанным типом; задан параметр типа, и это T.

Спецификация C# просто использует термин «универсальный», если это подразумевается.