タグ付けされた質問 「anonymous-types」

8
匿名クラスはインターフェースを実装できますか?
匿名型にインターフェースを実装させることは可能ですか? 機能させたいコードがありますが、その方法がわかりません。 「いいえ」と答えるか、インターフェースを実装するクラスを作成してその新しいインスタンスを構築するかの答えがいくつかありました。これは実際には理想的ではありませんが、インターフェイス上にシンダイナミッククラスを作成して、これを簡単にするメカニズムがあるかどうか疑問に思っています。 public interface DummyInterface { string A { get; } string B { get; } } public class DummySource { public string A { get; set; } public string C { get; set; } public string D { get; set; } } public class Test { public void …

22
匿名クラスの総称リスト
C#3.0では、次の構文で匿名クラスを作成できます var o = new { Id = 1, Name = "Foo" }; これらの匿名クラスをジェネリックリストに追加する方法はありますか? 例: var o = new { Id = 1, Name = "Foo" }; var o1 = new { Id = 2, Name = "Bar" }; List<var> list = new List<var>(); list.Add(o); list.Add(o1); もう一つの例: List<var> list = …

8
C#の匿名型をJSON文字列にシリアル化するにはどうすればよいですか?
次のコードを使用して、匿名型をJSONにシリアル化しようとしています。 var serializer = new DataContractJsonSerializer(thing.GetType()); var ms = new MemoryStream(); serializer.WriteObject(ms, thing); var json = Encoding.Default.GetString(ms.ToArray()); ただし、これを実行すると次の例外が発生します。 タイプ '<> f__AnonymousType1`3 [System.Int32、System.Int32、System.Object []]'はシリアル化できません。これをDataContractAttribute属性でマークし、シリアル化するすべてのメンバーをDataMemberAttribute属性でマークすることを検討してください。サポートされている他のタイプについては、Microsoft .NET Frameworkのドキュメントを参照してください。 (私の知る限り)匿名型に属性を適用することはできません。このシリアル化を行う別の方法はありますか、それとも何か不足していますか?


8
匿名型のLINQ Select Distinct
だから私はオブジェクトのコレクションを持っています。正確なタイプは重要ではありません。それから、特定のプロパティのペアのすべての一意のペアを抽出したいので、 myObjectCollection.Select(item=>new { Alpha = item.propOne, Bravo = item.propTwo } ).Distinct(); だから私の質問は:この場合、Distinctはデフォルトのオブジェクトのイコールを使用しますか(各オブジェクトは新しいので、私には役に立たないでしょう)、または異なるイコール(この場合、AlphaとBravoの等しい値)を実行するように指示できますか? =>等しいインスタンス)?これを行わない場合、その結果を達成する方法はありますか?

10
匿名型をパラメーターとして渡す方法は?
匿名型をパラメーターとして他の関数に渡すにはどうすればよいですか?この例を考えてみましょう: var query = from employee in employees select new { Name = employee.Name, Id = employee.Id }; LogEmployees(query); queryここの変数には強い型はありません。LogEmployees関数を定義してそれを受け入れるにはどうすればよいですか? public void LogEmployees (? list) { foreach (? item in list) { } } つまり、?マークの代わりに何を使用すればよいでしょうか。

5
C#で匿名型のプロパティにアクセスする方法
私はこれを持っています: List<object> nodes = new List<object>(); nodes.Add( new { Checked = false, depth = 1, id = "div_" + d.Id }); ...そして、匿名オブジェクトの "Checked"プロパティを取得できるかどうか疑問に思っています。これが可能かどうかはわかりません。これをやってみました: if (nodes.Any(n => n["Checked"] == false)) ...しかし、機能しません。 ありがとう

15
C#で匿名型を返す
匿名型を返すクエリがあり、そのクエリはメソッド内にあります。これをどのように書きますか: public "TheAnonymousType" TheMethod(SomeParameter) { using (MyDC TheDC = new MyDC()) { var TheQueryFromDB = (.... select new { SomeVariable = ...., AnotherVariable = ....} ).ToList(); return "TheAnonymousType"; } }

3
新しい匿名クラスを動的にするには?
C#3.0では、次の構文で匿名クラスを作成できます var o1 = new { Id = 1, Name = "Foo" }; これらの匿名クラスを変数に動的に作成する方法はありますか? 例: var o1 = new { Id = 1, Name = "Foo" }; var o2 = new { SQ = 2, Birth = DateTime.Now }; 動的作成の例: var o1 = DynamicNewAnonymous(new NameValuePair("Id", 1), new NameValuePair("Name", "Foo")); var …

8
C# 'dynamic'は、別のアセンブリで宣言された匿名型のプロパティにアクセスできません
以下のコードは、クラスClassSameAssemblyと同じアセンブリにクラスがある限り、正常に機能していますProgram。しかし、クラスClassSameAssemblyを別のアセンブリに移動すると、RuntimeBinderException(以下を参照)がスローされます。それを解決することは可能ですか? using System; namespace ConsoleApplication2 { public static class ClassSameAssembly { public static dynamic GetValues() { return new { Name = "Michael", Age = 20 }; } } internal class Program { private static void Main(string[] args) { var d = ClassSameAssembly.GetValues(); Console.WriteLine("{0} is {1} years old", d.Name, d.Age); } …

7
Dictionary <string、object>を匿名オブジェクトに変換しますか?
まず、物事を明確にするために、シナリオを上から説明します。 次の署名を持つメソッドがあります。 public virtual void SendEmail(String from, List&lt;String&gt; recepients, Object model) 私がやりたいのは、最初の2つのパラメーターとともにモデルオブジェクトのプロパティを持つ匿名オブジェクトを生成することです。モデルオブジェクトをPropertyInfo []にフラット化するのは非常に簡単です。したがって、PropertyInfoと最初の2つのパラメータを保持し、キーがプロパティの名前で値がプロパティの実際の値である匿名オブジェクトに変換されるディクショナリを作成することを考えました。 それは可能ですか?他に何か提案はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.