0

以下に示すコードの場合

using System;

public class Test
{
    public static void Main()
    {
        Test t = new Test();
        object AnonymousInside= t.GetAnonymousType();
        Console.Write(AnonymousInside.Key);//Error on compilation
    }

    public object GetAnonymousType()
    {
        return new {Key="KeyName",Value="ValueName"};
    }
}

type から匿名型を取り戻すにはどうすればよいobjectですか?

それが不可能な場合、このコードはどのように機能しますか?

@Html.TextBoxFor(model => model.ConfirmPassword, new { maxlength = 35, type = "password", @class="textArea  margindrop",placeholder="Confirm password"})

そのドキュメンテーション

4

2 に答える 2

3

動的にすることができます

dynamic AnonymousInside= t.GetAnonymousType();

クラスを使用する必要がありますが、代わりに構造体


それでも匿名型を使いたい場合

ドキュメントで言及されています:

コンパイラは各匿名型の名前を提供しますが、アプリケーションはそれにアクセスできません。

したがって、オブジェクトを介してアクセスする唯一の方法は、reflectionまたはを使用することですdynamic

于 2013-11-07T05:55:37.290 に答える