-2
我是C#中的新成員; 請告訴我什麼是壞的;c#不能將類型''隱式轉換爲''
我有這樣的錯誤消息:
「無法隱式轉換類型 'Factory.ContactSite' 到 'Factory.Site'」
我的代碼:
class SiteFactory {
public enum SiteType {
Contact, Gallery, Info, News
}
public static Site makeSite(SiteType type) {
switch (type) {
case SiteType.Contact:
{
return new ContactSite(); //create new object
}
case SiteType.Info:
{
return new InfoSite(); //create new object
}
default:
return null;
}
}
}
// ----------------------------------------------- ------------------
class Site {
public bool generate(String patch) {
System.IO.FileStream f = new FileStream(patch, FileMode.Create);
return true;
}
}
// -------------------------------------------- ---------------- 主:
SiteFactory.makeSite(SiteFactory.SiteType.Contact).generate("file.txt");
類ContactSite
目前是空的
那麼想必'ContactSite'不從'Site' ......這很難說得出,你還沒有表現出代碼。另外,我強烈建議您瞭解並開始遵循.NET命名約定。 –
對。 'ContactSite'應該是一種'Site'嗎? –
如果方法的返回類型是「Site」,那麼是的,從它返回的任何對象都必須是「Site」或派生自「Site」的類。 – Koneke