当我将对象标记为abstract =“true”时,我看到了奇怪的行为。当我将对象标记为abstract =“true”时,对象的行为方式如何?什么是abstract =“true”。
何时使用abstract =“true”?因为我可以使用parent =“object id”继承该属性而不将标记的父对象作为abstract =“true”。
奇怪的行为:
当我引用抽象标记对象时,spring正在抛出一个错误(内部异常:Spring.Core.TypeMismatchException:无法将[Spring.Objects.Factory.Support.RootObjectDefinitio n]类型的属性值转换为所需类型)< / p>
但是当我运行单元测试并使用“Spring.Testing.NUnit.AbstractDependencyInjectionSp ringContextTests”按类型通过autowire注入依赖项时,弹簧正在正确地注入抽象标记对象,这很奇怪。
我不知道发生了什么事?
e.g。
公共类车辆
{
public int NoOfTyre {get;组; }
public string Color {get;组; }
public string EngineType {get;组; }
public string GearType {get;组; }
public string DrivingStyle {get;组; }
public string Manufacture {get;组; }
}
请帮忙!
干杯, Milind
答案 0 :(得分:6)
何时使用abstract =“true”?因为我 可以使用继承属性 parent =“object id”,没有标记 父对象为abstract =“true”
Sprint.Net文档中的object definition inheritance部分很好地解释了它。
如果仅使用对象定义来创建子定义,则使用abstract="true"
。这可能是这种情况,因为您知道定义是不完整的,因为没有相应的.NET类,或者只是表达您的意图,即定义只是一个可重用的模板。