拥有以下课程:
public abstract class FieldElementBaseCL : FormElementBaseCL
{
public FieldElementBaseCL(FormElementGroupBaseCL parentElement, int linkedFieldID) : base(parentElement)
{
LinkedFieldID = linkedFieldID;
}
[DataMember]
[Browsable(false)]
public int LinkedFieldID { get; set; }
[Browsable(false)]
public LabelControl LabelComponent { get; set; }
public abstract FieldElementDTOBase GetElementDTO();
}
[DataContract]
public class FieldElementNumberEditCL : FieldElementBaseCL
{
public FieldElementNumberEditCL(FormElementGroupBaseCL parentElement, int linkedFieldID) : base(parentElement, linkedFieldID)
{
}
public override FieldElementDTOBase GetElementDTO()
{
FieldElementNumberEditDTOCL elementDTO = new FieldElementNumberEditDTOCL();
return elementDTO;
}
}
如您所见,有一条线创建FieldElementNumberEditCL
类的实例。那么,GetElementDTO
是否涉及装箱/拆箱,因为它的返回类型是FieldElementBaseCL
?
答案 0 :(得分:4)
装箱和拆箱仅适用于价值类型。值类型是使用struct
声明的值。您没有使用struct
,而是使用class
。因此,装箱/拆箱完全不适用于您。