我有,我創建了一個顯式接口的問題,我得到異常,聲明顯式接口和不包含定義錯誤C#
「X」不包含「Y的定義'並且沒有擴展方法'y'接受類型'x'的第一個參數可以被發現
我有一系列的類。基類:
public interface IFactoryResponse
{
object instance { get; set; }
string instanceconfig { get; set; }
}
明確地實現它的類:
public class FactoryResponseImpl : IFactoryResponse
{
object IFactoryResponse.instance {
get { return ((IFactoryResponse)this).instance; }
set { ((IFactoryResponse)this).instance = value; }
}
string IFactoryResponse.instanceconfig {
get { return ((IFactoryResponse)this).instanceconfig; }
set { ((IFactoryResponse)this).instanceconfig = value; }
}
}
,並在另一個類,我得到上述錯誤。 Visual Studio可以找到界面和類,但它無法解析實例屬性。我在這裏錯過了什麼。我可能會錯過顯式繼承的更精煉的規則之一。
if (facconfig.useabstract) {
response.instance = Activator.CreateInstance(m_entassembly.GetType(entconfig.Classname, true, true));
response.instanceconfig = facconfig.config;
} else {
Assembly assem = Assembly.LoadFrom(facconfig.assemblyfile);
object Obj = Activator.CreateInstance(assem.GetType(facconfig.Classname, true, true));
response.instance = Obj;
response.instanceconfig = facconfig.config;
}
接口是否在同一個程序集中定義? –
它確實在同一個程序集 – SoftwareSavant
中定義,你需要將該對象作爲該接口進行強制轉換,然後才能看到屬性 –