訪問類似javascript語言的c#類屬性會讓生活變得更容易。C#類的屬性包
我們如何在C#中做到這一點?
例如:
someObject["Property"]="simple string";
Console.WriteLine(someObject["FirstName"]);
訪問類似javascript語言的c#類屬性會讓生活變得更容易。C#類的屬性包
我們如何在C#中做到這一點?
例如:
someObject["Property"]="simple string";
Console.WriteLine(someObject["FirstName"]);
這裏是你如何可以通過添加幾行代碼啓用你的類屬性袋一樣的功能:
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); }
}
}
dynamic
關鍵字可以用來代替
dynamic foo = ...
foo.Property = "simple string";
Console.WriteLine(foo.Property);
我們可以使用foo [「Property」] =「簡單字符串」嗎? – 2013-04-21 13:05:22
你可以從得到每一個類10。但是,您可以簡單地使用JavaScript而不是濫用C#。
我同意你的觀點,但是在某些應用程序中存在這樣一種情況,即像上面那樣訪問屬性可以使代碼非常易讀並且易於使用。 – 2013-04-21 13:04:22
此代碼將工作
dynamic user= new ExpandoObject();
user.name = "Anonymous";
user.id=1234
user.address="12 broad way"
user.State="NY"
進口System.Dynamic命名空間。
真的很有意思。 – Revious 2014-02-21 11:38:24