为什么当我尝试在编辑器中打开C#类时VS崩溃(抽象继承问题?)

为什么当我尝试在编辑器中打开C#类时VS崩溃(抽象继承问题?),c#,C#,我收到了一个奇怪的错误,它导致VS崩溃,这是由于VS试图实例化我即将打开的类(继承接口和抽象类),以便在后台运行代码并尝试我添加的代码或任何更改 该图标与解决方案资源管理器中的常规类图标不同,但它看起来更像表单图标,一旦我删除继承,它就会进入常规类图标,我可以对其进行dubble klick,VS不会崩溃,而是在编辑器中打开该类 课程包括: namespace Tester { interface ITest { string ID { get; set; }

我收到了一个奇怪的错误,它导致VS崩溃,这是由于VS试图实例化我即将打开的类(继承接口和抽象类),以便在后台运行代码并尝试我添加的代码或任何更改

该图标与解决方案资源管理器中的常规类图标不同,但它看起来更像表单图标,一旦我删除继承,它就会进入常规类图标,我可以对其进行dubble klick,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; }
    }

}
}
名称空间测试器
{
公开课时间:试用
{
//声明变量
私人布尔穆伊斯法斯特;
/// 
///默认构造函数
/// 
公共时间()
{
}
公共图书馆很快
{
获取{return m_isfast;}
设置{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;

        }
        }
名称空间测试器
{
第一班:时间
{
//声明变量
私人布尔穆伊斯特拉南;
/// 
///建造师
/// 
公营房屋(一)
{
}
公共图书馆
{
获取{return m_isTransAm;}
集合{m_isTransAm=value;}
}
新的公共字符串GetRaceSpecificData()
{                
string strout=(string.IsNullOrEmpty(strInfo)?string.Empty:strInfo);
如果(IsTransAm)
{
strout+=string.Format(“\n生成1”);
}
如果(IsFast)
{
strout+=(快吗?\n快如闪电!:“\n慢如蜗牛。”);
}
回程行程;
}
}

我希望有人能在我全力以赴的时候有一个想法:/GetRaceSpecificData隐藏是什么让我完全误解或错过了抽象类?

如果你把“ITest”和“BanditOne”公诸于众会发生什么?同样的效果:/我就是搞不清楚。哪种方法是
BanditOne.GetRaceSpecificData
隐藏?如果你是e在具有相同签名的基类中隐藏方法。请尝试删除
new
。此外,是否尝试重新启动VS?在VS即将崩溃之前,启动VS的另一个实例并将该调试器附加到解决方案的实例。然后在解决方案中执行导致崩溃的操作,并检查附件中的任何异常d调试器。启动两个空白的VS实例。在一个实例中,调试->附加到进程,选择您启动的另一个VS实例。现在切换到附加的另一个VS实例,像平常一样加载您的解决方案。