0

このクラスはTestInput.csファイルにあり、

 public class HDate
 {
        private string StartYear;

        public string StartYear1
        {
            get { return StartYear; }
            set { StartYear = value; }
        }

        public HDate() { }

        public HDate(){
           DateTime today = DateTime.Now;
           //Some Code here
        }

     return StartDate+';'+EndDate; // ???
 }

次に、そのクラスからオブジェクトを作成します。このファイルはInputsubmit.csファイルです

 if(ds.Tables[0].Rows.Count < 0)
         {
          HDate hd = new HDate()
          hd.

         }

私が得ているものは、自動的に HDate の新しいクラスを作成します..しかし、すでに別のファイルにクラスがありますか?

4

3 に答える 3

0

を構築しようとすると実際に何が起こるかを明確にしていただけると助かりますHDate。ただし、HDateクラスには同じシグネチャを持つ 2 つのコンストラクターがあります。コンパイラはどちらを呼び出すかを判断できないため、HDateオブジェクトを作成する前に、それらの 1 つを削除する必要があります。

于 2012-06-18T08:12:28.600 に答える
0

クラス HDate について: コンストラクター HDate() は値を返すことができません! そして、帰省の型を持ったメソドから帰らざるを得ない…

あなたのクラスのインスタンスを作るとき: ( HDate hd= new HDate(); ) そしてそれは正しいです。コンストラクタ HDate() を実行します。しかし、コンストラクターでローカル変数を宣言したため((今日はローカル変数であり、グローバル変数ではありません))、使用できません。

おそらくあなたはそれを作ることができます:

public class HDate
    {
        private string StartYear;

        public string StartYear1 {get ; set } 
        //you can write that when you use framwork 3.0 or hit

  //public HDate() { }// you can note have 2 constructor with same signature !! 


        public DateTime today;
        public HDate(){
        today = DateTime.Now;
      //Some Code here
      }

// you can make methode :
public string updateDate() // this methode will retrun a string
{
DateTime StartDate, EndDate;
// some code here
return StartDate+" ; "+EndDate ; // string is between " " ! not between ' ' ;)
}
}// end of class.. after you can declarate hd and make hd.updateDate(); good luck

おー !忘れた!書く必要があります:TestInput.csを使用して; ファイル内:Inputsubmit.cs:D

于 2012-06-18T08:27:39.343 に答える
0

あなたが示したものが の宣言の大幅に削減されたサンプルでない限りHDate、クラスがコンパイルされない可能性があるHDateため、インテリセンスはそれを検出しません。

特に、次の行があります。 return StartDate+';'+EndDate; // ???

それはメソッドではなくクラス宣言にあり、参照されStartDateEndDate宣言が表示されません。

于 2012-06-18T08:16:36.057 に答える