Farklı bir StackExchange soruda, bu prototip kullanan birini fark ettim:
void DoSomething<T>(T arg) where T: SomeSpecificReferenceType
{
//Code....
}
Sadece tek bir tip kısıtlaması ( SomeSpecificReferenceType
) vardır, sadece bunun gibi yazmanın farkı ve avantajı nedir:
void DoSomething(SomeSpecificReferenceType arg)
{
//Code....
}
Her iki durumda da, arg
derleme zamanı tip kontrolüne tabi olacaktır. Her iki durumda da, yöntemin gövdesi arg
, derleme zamanında bilinen belirli bir tür olan (veya soyundan gelen) bilgiye güvenebilir .
Bu, sıradan kalıtım hakkında bilgi edinmeden önce jenerikleri öğrenen aşırı hevesli bir geliştirici vakası mıdır? Yoksa bir yöntem imzasının bu şekilde yazılmasının meşru bir nedeni var mı?