2016-09-28 3 views
0

모든 매개 변수를 문자열로 받아들이는 웹 응용 프로그램에보다 강력하게 형식화 된 속성을 추가하려면 C# 개체를 작성합니다. 이 웹 응용 프로그램은 왼쪽에 모든 레코드의 현재 값을 표시하고 오른쪽에는 빈 필드가 표시됩니다. 텍스트 입력 필드를 비워두면 데이터베이스의 해당 값은 변경되지 않습니다. 새 값을 입력하면 제출시 해당 값을 입력 한 새 값으로 변경합니다.DateTime 속성에 문자열 속성 추가

응용 프로그램에서 날짜 필드는 MM/dd/yyyy 형식의 문자열로 입력됩니다. C# 개체에 DateTime equivilents를 만들고 웹 응용 프로그램으로 보낼 때 .ToString ("MM/dd/yyyy")을 사용합니다.

public DateTime NewHireDate 
{ 
    get 
    { 
     return (DateTime.TryParse(NewValue11, out dateValue) ? dateValue : DateTime.MinValue); 
    } 
    set 
    { 
     NewValue11 = value.ToString("MM/dd/yyyy"); 
    } 
} 

한 주름은 웹 응용 프로그램은 사용자가 "* BLANK"를 입력하기 위해 기본적으로 날짜 필드의 값을 null로 수 있다는 것입니다. "* BLANK"문자열을 내 날짜 속성에 값으로 할당 할 수있게하여 해당 객체에 정확한 기능을 확장하고 싶습니다.

myObject.NewHireDate = "* BLANK"를 사용할 수 있도록 NewHireDate 속성을 String으로 재정의하는 방법은 무엇입니까? 사람들이 의견에 말했듯이

+2

그것은 귀하의 재산 유형'날짜 시간이어야한다처럼 대신 DateTime''의'소리 -되는 속성은 "'으로 번역 할 수있는 값'null'을 할당 할 수 있습니다 포인트? 문자열 속성에 대해 * BLANK "". 이미 * 문자열 속성을 가지고 있으므로 * "* BLANK"를 사용해야합니다. –

+0

그 문제는 속성에 null을 할당하면 필드를 비워 두는 것과 같습니다.이 시나리오에서는 웹 응용 프로그램에 값을 변경하지 말라고 알립니다. –

+0

그래, 두 개의 센티넬 값 - null과 다른 것 (잠재적으로'DateTime.MinValue'가 될 수있는)이 필요하지만, 여전히 문자열 속성을''* BLANK "' . –

답변

1

, u는 유형

날짜 시간을 사용할 수 있을까?

대신 Datetime입니다.

이렇게하면 Datetime 속성에 NULL 값을 설정할 수 있습니다.

이 작업을 수행하려면 클래스에 메서드를 만들어 이러한 문자열을 DateTime 형식으로 변환하십시오.

참조 : https://msdn.microsoft.com/en-us/library/2cf62fcy(v=vs.140).aspx

+0

DateTime으로 설정 하시겠습니까? 값 = "* 공백"을 설정할 수 없습니다. –

+0

하지만 "* Blank"문자열을 null 날짜로 변환하거나 그 반대로 변환 할 수 있습니다. IE : 'if (myString, equals ("* Blank")) { myDate = null; } '' 및 그 뒤로 ...like ' if (myDate == null) { myString = "* 공백"; ' 그리고 이것을 클래스 메서드 또는 확장으로 만들 수 있습니다 ... STRING을 Date로 설정할 수 없기 때문에 비슷한 방식으로 동작하도록하는 인터페이스를 만들 수 있습니다. – Revista

+0

하지만 강력한 형식의 속성을 사용하면 장점이 없습니다. –