2009-08-26 15 views
0

を抽出する:は、どのように私は、このオブジェクトを返す関数を持つオブジェクトの.NET

var result = AjaxUserToPlacePaging(); 

//this is the object 
object[] objcs = new object[1]; 

objcs[0] = new 
{ 
    countHereNow = countHereNow.ToString(), 
    countWillBeHere = countWillBeHere.ToString(), 
    countWasHere = countWasHere.ToString() 
}; 

がどのようにオブジェクトから情報を抽出することができますか?例えば

int count = result[0].countHereNow; 

iをする機能をnned resunため

答えて

2

私が作るお勧め私はjqueryの を使用してjQueryを使って、オブジェクトを取得し、JSONに変換 ためのオブジェクトでありますカスタムクラスを作成して保存する代わりに、匿名型を「オブジェクト」に直接格納するのではなく、あなたが取得するとき、あなたが戻ってそれをキャストすることができます

objcs[0] = new MyClass 
{ 
    countHereNow = countHereNow.ToString(), 
    countWillBeHere = countWillBeHere.ToString(), 
    countWasHere = countWasHere.ToString() 
}; 

MyClass myClass = result[0] as MyClass; 
if (myClass != null) 
{ 
    int count = myClass.countHereNow; 
} 

ありますが、匿名型で動作するように行うことができますトリックがありますが、ほとんどの場合、彼らは単にコードが少なく作ります維持可能。あなたはReflectionを使用する必要があります

+5

'if(myClass!= null)'。これはC#です。 –

+0

配列を宣言すると、以下のように型を作成する必要はありません。 –

+0

@Mehrdad:ありがとう - 固定。 @Jaimal Chohan:これはローカルスコープの外でこれを使用したくない場合(つまり、メソッドからの戻り)、うまくいきます。しかし、それは明らかではありません。 –

4

string countHereNow = string.Empty; 
Type objType = result[0].GetType(); 
PropertyInfo prop = objType.GetPropertyInfo("countHereNow"); 
countHereNow = prop.GetValue(result[0], null) as string ?? string.Empty; 

通常、私は匿名型を返すことは悪いアイデアであると思うが、多分あなたはそれの理由を持っています。それ以外の場合は、カスタムクラスを作成し、そのクラスタイプの配列を返すだけです。

+0

この返品 CS0021:[]付きのインデックス付けを 'オブジェクト'タイプの式に適用できません – avi

+0

あなたは正確に何を返していますか?あなたのコードはそれを表示していません... "result"がobject []型であることを確認する必要があります。 –

0

匿名オブジェクトの内容を作成する関数の外部に取得するには、リフレクション(またはリフレクションを使用するもの)を使用する必要があります。クラスを作成して代わりにそのインスタンスを返す必要がありますか?

0

現在

object[] objcs = new object[1]; 

が暗黙に型付けされた(VAR)、アレイ

var objcs = new []; 

あなたが実際にアレイに追加するオブジェクトが勝っその方法として、それを宣言したオブジェクトの配列として配列を宣言していますSystemObject型であるが暗黙的に型付けされる

+1

huh?これは彼の問題をまったく解決しません... –

+0

確かにそうです。暗黙的に型を宣言することで、プロパティにアクセスするためのクラスを明示的に作成する必要はありません。 –

+0

事実、そのすべてがここにあります。 http://msdn.microsoft.com/en-us/library/bb384090.aspx –

関連する問題