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