2013-07-17 1 views
0

발생 나는 다음과 같은 슈퍼 클래스가 있습니다상속 방법은 오류

abstract class ContactQueue 
{ 

    public abstract DateTime period { 
     get; set; } 
    public abstract String type { get; set; } 
    public abstract String toString(); 
    public String ReWritePeriod(String choice) 
    { 
     new CultureInfo("da-DA"); 
     switch (choice) 
     { 
      case ("Day"): 

       return period.ToString("ddd"); 

      case ("Week"): 

       return ""+period.ToString("ddd")+" Uge: "+weekNumber(period); 

      case ("Year"): 

       return period.Year.ToString(); 

      default: 
       return ""; 
     } 

    } 
    private int weekNumber(DateTime fromDate) 
    { 
     // Get jan 1st of the year 
     DateTime startOfYear = fromDate.AddDays(-fromDate.Day + 1).AddMonths(-fromDate.Month + 1); 
     // Get dec 31st of the year 
     DateTime endOfYear = startOfYear.AddYears(1).AddDays(-1); 
     // ISO 8601 weeks start with Monday 
     // The first week of a year includes the first Thursday 
     // DayOfWeek returns 0 for sunday up to 6 for saterday 
     int[] iso8601Correction = { 6, 7, 8, 9, 10, 4, 5 }; 
     int nds = fromDate.Subtract(startOfYear).Days + iso8601Correction[(int)startOfYear.DayOfWeek]; 
     int wk = nds/7; 
     switch (wk) 
     { 
      case 0: 
       // Return weeknumber of dec 31st of the previous year 
       return weekNumber(startOfYear.AddDays(-1)); 
      case 53: 
       // If dec 31st falls before thursday it is week 01 of next year 
       if (endOfYear.DayOfWeek < DayOfWeek.Thursday) 
        return 1; 
       else 
        return wk; 
      default: return wk; 
     } 
    } 
} 

을 그리고 난 위의 클래스 상속 다음 클래스가 내 상속의 방법은 사실 일 경우 지금

class Callback : ContactQueue 
{ 
    public int completedCallbacks{get; set;} 
    public int completed_within_timeframe{get; set;} 
    public int answerPercentage { get; set; } 
    public override String type {get; set;} 
    public override DateTime period { get; set; } 
    public Callback(String type,DateTime period) 
    { 
     this.type = type; 
     this.period = period; 
    } 
    public override String toString() 
    { 
     return type; 
    } 
} 

내가 테스트하고 싶었을 그래서 나는 다음과 같이했다 :

그리고 그 시점에서 내 프로그램은 오류를 던진다!

내가 뭘 잘못하고 있니?

오류 메시지가

The invocation of the constructor on type 'Henvendelser.MainWindow' that matches the specified binding constraints threw an exception. 
+2

그리고 오류는 ...? 그리고 그것은 어떤 선상에서 일어나는 것입니까 ...? 일단 디버거를 통해 정보를 확인하고 확인하면 문제의 근방이 의심 스럽습니까? –

+0

Ive가 내 게시물을 오류와 함께 업데이트했습니다. –

+0

소리가 거의 들리지 않는 것 같습니다. 'MessageBox'를 제거하면 어떻게됩니까? 그냥'cb.ReWritePeriod ("Day")'를 호출하고보고하지 않습니까? 편집 : 이것은 당신이 [여기] (http://stackoverflow.com/questions/17594172/import-exception) 요청한 문제와 관련이 있습니까? –

답변

2

이 오류 (그리고 예외의 원인) 라인 그러한 문화 "다-DA가"없다

new CultureInfo("da-DA"); 

에있는 것으로 보인다. "de-DE"(독일) 또는 "da-DK"(덴마크)를 의미합니까?

+0

http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo(v=vs.71).aspx에 따라 가 있습니까? –

+0

@MarcRasmussen 미안하지만, 'da-DA'가 아니라 'da' 또는'da-DK'가 있습니다. –

+1

MSDN은 "da-DA"가 아닌 "da-DK"(덴마크) 만 언급합니다. –