拡張クラスを次のように定義しました。
public class ExtendedAttributeMetadata : AttributeMetadata
{
public bool IsTwoOption { get; set; }
}
AttributeMetadata[]
しかし、タイプのソース配列を新しい宛先配列にコピーすると、次のExtendedAttributeMetadata[]
ようになりInvalidCastException
ます:
「ソース配列の少なくとも 1 つの要素を宛先配列型にキャストできませんでした。」
コード:
AttributeMetadata[] attributes;
//...
ExtendedAttributeMetadata[] extendedAttributes = new ExtendedAttributeMetadata[attributes.Length];
attributes.CopyTo(extendedAttributes, 0);
追加した:
AttributeMetadata
MetadataBase から派生する場所
public class AttributeMetadata : MetadataBase
そしてMetadataBase
抽象クラスです。
public abstract class MetadataBase : IExtensibleDataObject
私の場合、最善かつ最適なコピー方法を提案してください。