Możesz zobaczyć, co próbuję (ale bezskutecznie) zrobić z następującym kodem:
protected T GetObject()
{
return new T();
}
Każda pomoc byłaby bardzo mile widziana.
EDYTOWAĆ:
Kontekst był następujący. Bawiłem się niestandardową klasą kontrolera, z której miały pochodzić wszystkie kontrolery, przy użyciu standardowych metod. W kontekście musiałem więc stworzyć nową instancję obiektu typu kontroler. Więc w czasie pisania było to coś takiego:
public class GenericController<T> : Controller
{
...
protected T GetObject()
{
return (T)Activator.CreateInstance(ObjectType);
}
public ActionResult Create()
{
var obj = GetObject()
return View(obj);
}
Postanowiłem więc, że tu najłatwiej będzie nam zadbać o refleksję. Zgadzam się, że z pewnością biorąc pod uwagę początkowe stwierdzenie pytania, najwłaściwszą odpowiedzią do oznaczenia jako poprawną była ta, w której zastosowano nowe () ograniczenie. Naprawiłem to.