私はジェネリックコレクションパスを持ちます。ここで、Tはセグメント - セグメントは抽象クラスです。 私は、中間クラスLineSegmentを介して抽象基本クラスから派生クラスSpecialLineSegmentsを含むパスの派生クラスClosedPathを持っています。 条件に合致するパスを選択しようとしていますが、異なるタイプのセグメントが含まれている可能性がありますので、ClosedPathではない可能性がありますので、Pathにキャストしようとしています。コンパイラはこのキャストが不可能であるというエラーを出します。ジェネリックコレクションにキャストする方法
public static void Method1(ClosedPath[] paths)
{
bool condition = false;
//working code..
Path<Segment> Pslct = new Path<Segment>();
foreach (ClosedPath P in paths)
{
if (condition)
{
//working code
Pslct = (Path<Segment>) P;
}
}
}
線分あなたはPath<Segment>
にClosedPath
(Path<LineSegment>
)からキャストすることはできませんセグメント
どのようにパスが定義されていますか? –
@James上に編集 – gwizardry
明示的な変換演算子を記述します。 – phoog