문제

은 무엇이 가능한 이유는 무엇이 널<>유형은 허용되지 않으로 전달할 수 있도록 TModel 의 매개변수 시스템입니다.웹.Mvc.ViewPage<TModel> 일반?이 편리하게 될 때로는.

에 ASP.NET MVC 소스 정의 TModel 야 하는 클래스:

public class ViewPage<TModel> : ViewPage where TModel : class

그러는 값 형식입니다.어쩌면 정의 될 수 있는 더 제한적인...

도움이 되었습니까?

해결책

그것은 의미가 없이 작업을 위해 지금이 순간,로 ViewPage<T> 내부적으로 항상 확인하는 모델의 인스턴스입니다 T.할 수 없 null 을 전달하기 때문에 이의 확인합니다.

으로는 이유에 대한 구조 형식이 허용되지 않았다 처음에 무리가 무지 이유가 있습니다.그 중:(a)수 있는 사람들을 격려하는 사용자의 구조 형태에 대한 모델,이는 거의 없으로 문제를 해결;(b)을 전달할 수 없는 구조 형식을 매개 변수는 컨트롤러입니다.UpdateModel();(c)모델이 있어야 참조 평등기 위해서는 필터를 열람하고 수정할 수 있습 그(d)내장된 구조물 유형을 다음과 같 int,etc., 일반적으로 유용하지 않으로 스스로 모델 개체;그리고(e)구조체 유형을 지원하지 않는 상속,예를 들어,통 int 모델로 ViewPage<long> 을 것입니다.

는 것이 밝혀졌(c)아마 문제가 되지 않기 때문에 구조 형식 변경할 수 없지만,다른 항목이 필요할 수 있도록 구조형 충분한 생각과 디자인이 결정을 하기 전에 지원하는 그들.의 결과를 지원하는 이보다 훨씬 더 큰 그냥 제거 제한조건에 ViewPage<T>.

다른 팁

단일 값이 없는"모델은"수 있습니다-당신이 그냥 사전을 사용하고 캐스팅?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top