我以这种方式定义了我的扩展类:
public class ExtendedAttributeMetadata : AttributeMetadata
{
public bool IsTwoOption { get; set; }
}
但是在将类型的源数组复制AttributeMetadata[]
到我的新目标数组ExtendedAttributeMetadata[]
后,我得到InvalidCastException
:
“源数组中的至少一个元素无法转换为目标数组类型。”
代码:
AttributeMetadata[] attributes;
//...
ExtendedAttributeMetadata[] extendedAttributes = new ExtendedAttributeMetadata[attributes.Length];
attributes.CopyTo(extendedAttributes, 0);
添加:
哪里AttributeMetadata
来源于 MetadataBase
public class AttributeMetadata : MetadataBase
并且MetadataBase
是一个抽象类。
public abstract class MetadataBase : IExtensibleDataObject
请就我的情况提出最佳和最佳的复制方式。