0

取得元のモデルがありTypeます。モデルは ですType BasePage。の型にキャスト/変換できますTypeか? このページには 10 種類の異なるタイプがあるため、そのページからキャスト/変換を行うと本当にメリットがありTypeます。

Type pageType = page.GetType();

//this is what im trying to do but from the Type instead
var newPageOfType = (pageType)pageToCast; //I would usually use this Typecast

更新
適切なサンプルコードで質問を更新しました。すべてのpageTypeタイプは同じものから派生しますBasePage

4

2 に答える 2

0

これを行う最も一般的な方法は、実際にキャストを実行し、次のように成功するかどうかを確認することです。

var newPage = page as SomeDerivedPageClass;
if (newPage != null)
{
    // the cast succeeeded, page was actually of the derived type
}
else
    // the passed object wasn't what you were expecting. ignore it,
    // throw an error, log the error, whatever is appropriate.
于 2013-04-01T17:39:30.377 に答える
0

パラメータがIConvertibleを実装している限り、Convert.ChangeTypeを使用できます。value

Type pageType = page.GetType();
var newPageOfType = Convert.ChangeType(pageToCast, pageType);
于 2013-04-01T17:59:56.170 に答える