좋은 하루였습니다.
저는 작업을 처리하는 무언가를 연구하고 있습니다.
각 작업은 3 개의 문자열과 DateTime 개체로 구성됩니다.DateTime.Now 클래스 생성자
다음은 내가 작성한 생성자입니다. 컴파일 할 때
public Task(string von, string was, string an, DateTime zeit = DateTime.Now)
나는 컴파일러 오류를 얻을
Default parameter value for 'zeit' must be a compile-time constant (CS1736)
나는 DateTime.Now의 값이있는 생성자가 호출되는 시간에 따라 달라 -obvioulsy- 즉, 문제가 가정 내가 여기 갖고 싶어하는 요점.
나는 [스레드]를 이미 살펴 봤지만 DateTime 객체에 대한 메모리 요구가 항상 같고 스레드가 그 호출의 알 수없는 힙 요구라고 말하기 때문에 실제로이 스레드를 보았습니다. 1
는 이미 (아래 참조) 해결 방법에 대한 아이디어를 가지고 있지만, 우리 모두가 알고있는 일 어라운드 내가 현재 날짜 시간을 사용하려는 경우
public Task(string von, string was, string an, DateTime zeit){
if(zeit == null)
dateOfCreation = DateTime.Now; //dateOfCreation being the name of Task's internal DateTime field.
else
dateOfCretion = zeit;
그래서 내가 null을 전달 가장 좋은 방법은 아니다. 그러나 : 항상 null을 전달하는 데 시간과 노력이 필요하다면, 매번 DateTime을 전달할 수도 있습니다. 지금.
질문 : 매개 변수 DateTime zeit = DateTime.Now
을 받아들이거나 동일한 결과로 대체 할 수있는 방법이 있습니까? 대신 오버로드
감사합니다, 나는 그것을 기회를 줄 것이다. 이것은 내가 원하는 인터페이스를 제공하는 반면, 내 자신의 해결 방법처럼 작동합니다. – Mark