다음 코드를 사용하여 시도했지만 실패한 것을 볼 수 있습니다.
protected T GetObject()
{
return new T();
}
도움을 주시면 감사하겠습니다.
편집하다:
상황은 다음과 같습니다. 표준화 된 방법으로 모든 컨트롤러에서 파생 할 수있는 사용자 정의 컨트롤러 클래스를 가지고 놀고있었습니다. 따라서 컨텍스트에서 컨트롤러 유형의 객체의 새 인스턴스를 만들어야했습니다. 따라서 글을 쓰는 시점은 다음과 같습니다.
public class GenericController<T> : Controller
{
...
protected T GetObject()
{
return (T)Activator.CreateInstance(ObjectType);
}
public ActionResult Create()
{
var obj = GetObject()
return View(obj);
}
그래서 반사가 가장 쉽다고 결정했습니다. 확실히 질문의 초기 진술이 주어 졌을 때, 올바른 것으로 표시하기에 가장 적합한 대답은 new () 제약 조건을 사용하는 것이 었다는 데 동의합니다. 나는 그것을 고쳤다.