1

私がやろうとしているのは、セッションからオブジェクトデータを取得することです。

以下のコードはすべてを明確にする必要があります:

//Type of object which i need to get in runtime
Type someUnknownType = typeof(someObject);
int id = 1; // for example
// here i got error cannot resolved someUnknownType
ISession.Get<someUnknownType>(id);

どうやってやるの?

編集: someObjectインスタンス変数です。

4

2 に答える 2

3

まず、間違いがあります。

  • someObjectがインスタンス変数の場合、を呼び出すことはできませんtypeof(someObject)。あなただけが呼び出すことができますsomeObject.GetType()
  • タイプの場合でも、汎用バージョンを使用します。

非ジェネリックバージョンを使用しようとしましたか:

object x = ISession.Get(someObject.GetType(), id);
于 2012-04-16T11:38:27.313 に答える
-1

次のGetメソッドを使用する必要があります。

ISession.Get(Type, Object);

NHibernateドキュメントの例を次に示します。

Cat cat = (Cat) sess.Get(catInstance.GetType(), id);
于 2012-04-16T11:36:12.087 に答える