// / ソース データ/// オブジェクト データ/// // / ソース データ/// オブジェクト データ///

ホームページ  >  記事  >  バックエンド開発  >  .NET は、辞書を通じてクラスに値を割り当てることでコードを実装します。

.NET は、辞書を通じてクラスに値を割り当てることでコードを実装します。

黄舟
黄舟オリジナル
2017-02-22 10:33:102029ブラウズ

これ以上ナンセンスではないので、コードを投稿しましょう。具体的なコードは次のとおりです。

/// <summary>
/// 
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="origin">源数据</param>
/// <param name="target">对象数据</param>
/// <param name="dict">变量名对应字典</param>
public static void CopyTo<T>(this object origin, T target,Dictionary<string,string> dict)where T :class,new()
{
PropertyInfo[] props = target.GetType().GetProperties();
foreach (PropertyInfo info in props)
{
var variable = dict.FirstOrDefault(m => m.Value == info.Name);
if (variable.Key!=null)
{
string variableName = variable.Key;
string chineseName = variable.Value;
var propertyValue =
origin.GetType()
.GetProperty(variableName)
.GetValue(origin, null);
if (propertyValue != null)
{
if (propertyValue.GetType().IsClass)
{
}
target.GetType()
.InvokeMember(chineseName, BindingFlags.SetProperty, null, target,
new object[] { propertyValue });
}
}
}
}



上記は、辞書を通じてクラスに値を割り当てる .NET の内容です。 PHP 中国語 Web サイト (www.php.cn) に注意してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。