私は電子メール、firstNameとlastNameに基づいて括りチェックを行います。私がビジネスレイヤーから戻ってくるオブジェクトは非常に大きく、私が戻す必要があるよりも多くのデータを持っています。私のWebサービス機能では、JSON経由で10個のフィールドを返すだけです。これらの10個のフィールドで新しいクラスを作成するのではなく、大きな戻りオブジェクトをループし、その中の10個のフィールドを持つ匿名オブジェクトのリストまたは配列を作成するだけです。C#匿名オブジェクトの配列からのループ
私の問題は、私は私の大きなオブジェクトをループしてのみ、私はフィールドを引き抜くことにより除き、その正確な事をしたいということです手動でこの ように私は、私は匿名オブジェクトの匿名配列を作ることができます知っている
obj.DataSource = new[]
{
new { Text = "Silverlight", Count = 10, Link = "/Tags/Silverlight" },
new { Text = "IIS 7", Count = 11, Link = "http://iis.net" },
new { Text = "IE 8", Count = 12, Link = "/Tags/IE8" },
new { Text = "C#", Count = 13, Link = "/Tags/C#" },
new { Text = "Azure", Count = 13, Link = "?Tag=Azure" }
};
戻る必要があります。
private class DupeReturn
{
public string FirstName;
public string LastName;
public string Phone;
public string Owner;
public string Address;
public string City;
public string State;
public string Zip;
public string LastModified;
}
[WebMethod]
[System.Web.Script.Services.ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string CheckForDupes(string Email, string FirstName, string LastName)
{
contact[] list = Services.Contact.GetDupes(Email, FirstName, LastName);
if (list != null && list.Length > 0)
{
List<DupeReturn> dupes = new List<DupeReturn> { };
foreach (contact i in list)
{
DupeReturn currentObj = new DupeReturn
{
FirstName = i.firstname,
LastName = i.lastname,
Phone = i.telephone1,
Owner = i.ownerid.ToString(),
Address = i.address1_line1,
City = i.address1_city,
State = i.address1_stateorprovince,
Zip = i.address1_postalcode,
LastModified = i.ctca_lastactivityon.ToString()
};
dupes.Add(currentObj);
}
return Newtonsoft.Json.JsonConvert.SerializeObject(dupes);
}
}
私は本当に必要ない場合は、追加のプライベートクラスを作る必要はありません。どんな助けもありがとう。
あなたは別のクラスを作ることに対して何を得ましたか? – AakashM
これは私のアプリケーションではなく、使い捨てクラスを使用したかったのは、この1つの関数でのみ使用されていて、他の場所では使用されていなかったからです。 – vipergtsrz