4

JavaScript 言語のような C# クラス プロパティにアクセスすると、作業がずっと楽になります。

C# でそれを行うにはどうすればよいでしょうか。

例えば:

someObject["Property"]="simple string";
Console.WriteLine(someObject["FirstName"]);
4

4 に答える 4

6

数行のコードを追加して、クラスでプロパティ バッグのような機能を有効にする方法を次に示します。

partial class SomeClass
{
    private static readonly PropertyDescriptorCollection LogProps = TypeDescriptor.GetProperties(typeof(SomeClass));

    public object this[string propertyName]
    {
        get { return LogProps[propertyName].GetValue(this); }
        set { LogProps[propertyName].SetValue(this, value); }
    }
}
于 2013-04-21T12:38:37.640 に答える
1

このコードは機能します

dynamic user= new ExpandoObject();
user.name = "Anonymous";
user.id=1234
user.address="12 broad way"
user.State="NY"

System.Dynamic 名前空間をインポートします。

于 2013-07-30T18:14:28.987 に答える
0

dynamic代わりにキーワードを使用できます。ここで試してみてください

using System;
using System.Dynamic;
                    
public class Program
{
    public static void Main()
    {
        dynamic foo = new ExpandoObject();
        foo.Property = "simple string";
        Console.WriteLine(foo.Property);
    }
}
于 2013-04-21T12:44:15.623 に答える