0

私は奇妙なエラーを受け取り、それがVSをクラッシュさせています。私が何とか収集したのは、VSがクラス(インターフェイスと抽象クラスを継承している)をインスタンス化しようとしているためです。バックラウンドでコードを実行し、追加したコードや変更を試してみます。

アイコンはソリューションエクスプローラーの通常のクラスアイコンではありませんが、代わりにフォームアイコンのように見えます。継承を削除するとすぐに通常のクラスアイコンになり、ダブリッククリックできます。VSはクラッシュせず、代わりに開きます。エディターのクラス。

クラス:

namespace Tester
{
   interface ITest
   {

      string ID { get; set; }

      double age { get; set; }        


   }
}

次のもの:

namespace Tester
{
public abstract class Trial : ITest
{
    //Declaring variables
    string m_ID;
    double m_age;

    string ID 
    { 
        get { return m_ID; }
        set { m_ID = value; }
    }

    double age 
    {
        get { return m_age; }
        set { m_age = value; }
    }

}
}

次は:

 namespace Tester
{
public class Time : Trial
{
    //Declaring variables
    private bool m_isfast;


    /// <summary>
    /// Default constructor
    /// </summary>
    public Time()
    {
    }

    public bool IsFast
    {
        get { return m_isfast; }
        set { m_isfast = value; }
    }

}
}

最後は:

  namespace Tester
  {
  class BanditOne : Time
  {
        //Declaring variables
        private bool m_isTransAm;

        /// <summary>
        /// Constructor
        /// </summary>
        public BanditOne()
        {
        }

        public bool IsTransAm
        {
            get { return m_isTransAm; }
            set { m_isTransAm = value; }
        }


        new public string GetRaceSpecificData()
        {                
            string strout = (string.IsNullOrEmpty(strInfo) ? string.Empty : strInfo);

            if (IsTransAm)
            {
                strout += string.Format("\nProduces #1");
            }
            if (IsFast)
            {
                strout += (IsFast ? "\nFast as lightning! " : "\nSlow like a snail.");
            }
          return strout;

        }
        }

私がすべてを尽くしているので、誰かがアイデアを持ってくれることを願っています:/抽象クラスについて完全に誤解したり、見逃したりしたことがありますか?

4

0 に答える 0