我一直在尝试学习依赖注入,但运行代码时出现 2 个错误:
DependencyInjection.Message.Sms()
必须声明一个主体,因为它没有标记为抽象、外部或部分。- 无法将类型隐式转换
DependencyInjection.IInterface
为DependencyInjection.MyClass
. 存在显式转换(您是否缺少演员表?)
下面的代码对 DI 来说是一个好的设计吗?
namespace DependencyInjection
{
public interface IInterface
{
}
public abstract class Message
{
public virtual void Sms();
}
public class MyClass : Message, IInterface
{
public override void Sms()
{
Console.WriteLine("Sms gönder.");
}
}
public class ClassManager
{
private IInterface _myinterface;
public MyClass Xyz
{
get { return _myinterface; }
set { _myinterface = value; }
}
public ClassManager(IInterface myinterface)
{
_myinterface = myinterface;
}
}
}