Heim > Backend-Entwicklung > C#.Net-Tutorial > Asp.net verwendet Reflection, um eine Beispielcodeanalyse zum Zuweisen von Werten zur Modellklasse zu implementieren

Asp.net verwendet Reflection, um eine Beispielcodeanalyse zum Zuweisen von Werten zur Modellklasse zu implementieren

黄舟
Freigeben: 2017-03-28 11:14:45
Original
1880 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Methode von asp.net vor, die Reflektion verwendet, um der Klasse Modell Werte zuzuweisen. Er analysiert die Betriebsschritte und zugehörigen Betriebstechniken von asp.net, die Reflektion zum Zuweisen von Werten verwendet ​Zur Modellklasse in Form von Beispielen. Freunde in Not können sich darauf beziehen

Das Beispiel in diesem Artikel beschreibt die Methode zum Zuweisen von Werten zur Modellklasse mithilfe von Reflection in asp.net. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

/// <summary>
/// 给model类自动赋值
/// </summary>
/// <param name="sqlstring">获取查询一个model实例的sql语句</param>
/// <param name="obj">model实例对象</param>
/// <returns></returns>
public object selmodel(string sqlstring,object obj)
{
  DataTable dtsell = lcommonbll.GetTable(sqlstring);
  int count = dtsell.Rows.Count;
  if (count == 0)
  {
   return null;
  }
  else
  {
   DataRow dr = dtsell.Rows[0];
   #region 另一种方法
   //foreach (DataColumn col in dr.Table.Columns)
   //{
   // PropertyInfo pt = seller.GetType().GetProperty(col.ColumnName);
   // if (String.IsNullOrEmpty(dr[col.ColumnName].ToString()))
   // {
   //  break;
   // }
   // else
   // {
   //  pt.SetValue(seller, dtsell.Rows[0][0], null);
   // }
   //}
   #endregion
   foreach (System.Reflection.PropertyInfo pi in obj.GetType().GetProperties())
   {
    if (pi.CanWrite)
    {
     try
     {
      if (dtsell.Rows[0][pi.Name]!=null)
      {
       pi.SetValue(obj, dtsell.Rows[0][pi.Name], null);
      }
      else
      {
       pi.SetValue(obj, null, null);
      }
     }
     catch
     {
      pi.SetValue(obj, null, null);
     }
    }
   }
   return obj;
  }
}
Nach dem Login kopieren

.CS-Aufruf

Seller seller = new Seller();//实体类
bind BIND = new bind();//绑定方法类
seller = (Seller)BIND.selmodel("select * from seller where SID=2", seller);//赋值
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonAsp.net verwendet Reflection, um eine Beispielcodeanalyse zum Zuweisen von Werten zur Modellklasse zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage