There is 역설 config. idfsysobject. 설명: 누얼바이 객체에는 값이 있어야 합니다. (?!)
이것은 문제:
I have a 클래스 ',' 다테이미스테네트 있는
{
DateTime? MyDataTime;
int? otherdata;
}
그리고 구성자를
DateTimeExtended(DateTimeExtended myNewDT)
{
this.MyDateTime = myNewDT.MyDateTime.Value;
this.otherdata = myNewDT.otherdata;
}
이 코드를 실행
DateTimeExtended res = new DateTimeExtended(oldDTE);
'한' 잉바리도프라티온렉세페시옹 던지는 메시지와 함께:
>, 누얼바이 객체에는 값이 있어야 합니다.
'-' 일반 'DateTime' 객체에는 및 컨테인먼트하는 미뉴트리니다테타임.발루 유효합니다.
도대체 내가 왜 이 메시지와 제꿈의 잘못된 것일까?
참고로 old터 '아니다' 'null'. # 39 를 '가치' 에서 'i& 미뉴트리니다테타임 같은 예외는 있지만, ve 재거됨 인해 생성된 던져 세터.
그냥 '선', '변경하십시오 티스트미다테타임 합니다 = 미뉴트리니다테타임.발루 티스트미다테타임 = 미뉴트리니다테타임.'
일반적으로, 이는 잘못된 생각은 '에서' 은 몇 가지 않으면 누얼바이 type, 무턱대고 호출하십시오 이바루이 변수 값을 포함할 것을 사전 정보가 한다 (즉, ' ' 콜하스발루 통해 확인).
class DateTimeExtended
{
public DateTime? MyDateTime;
public int? otherdata;
public DateTimeExtended() { }
public DateTimeExtended(DateTimeExtended other)
{
this.MyDateTime = other.MyDateTime;
this.otherdata = other.otherdata;
}
}
마치 내가 테스트되었습니다 이:
DateTimeExtended dt1 = new DateTimeExtended();
DateTimeExtended dt2 = new DateTimeExtended(dt1);
여기에 '에' '가' 이바루이 더스미다테타임 예외적인 경우입니다. It gets 제거 없애는 예외입니다. # 39, re 보았으매 엉뚱한 곳으로 you& 생각한다.
Linq 확장명은 방법을 사용할 때 (예를 들어 '선택', '어디서') 과 동일하게 동작할 수 있는 C # 데이터베이스에구성원을 아닌 SQL 변환하지는 지정값이 람다 함수 코드입니다. 예를 들어, C # & # 39 의 단락 평가하실 ',', '와' & & 변환할지 sql& '와' 및 '또는' # 39 에 발벗고 나섰다. 이 때, re in your 람다 you& # 39 nulll 확인 문제를 일으킬 수 있습니다.
예:
MyEnum? type = null;
Entities.Table.Where(a => type == null ||
a.type == (int)type).ToArray(); // Exception: Nullable object must have a value
DateTimeExtended(DateTimeExtended myNewDT)
{
this.MyDateTime = myNewDT.MyDateTime;
this.otherdata = myNewDT.otherdata;
}