私は奇妙なエラーを受け取り、それが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;
}
}
私がすべてを尽くしているので、誰かがアイデアを持ってくれることを願っています:/抽象クラスについて完全に誤解したり、見逃したりしたことがありますか?