我需要查找數據庫中每個字符串列的最大大小,作爲設計另一個數據庫的信息之一。我對源數據庫的唯一訪問權限是通過Web服務。我可以爲每一列找到最大的尺寸,但我希望它是通用的,所以我可以稍後使用它。作爲變量的屬性名稱
我寫了這個非常簡化的版本,使其易於理解。最後兩行中有兩句發明了語法,這是我需要幫助的地方。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
public class myClass
{
private string s;
public string S
{
get { return s; }
set { s = value; }
}
private int i;
public int I
{
get { return i; }
set { i = value; }
}
}
class Program
{
static void Main(string[] args)
{
Type myClassType = typeof(myClass);
System.Reflection.PropertyInfo[] propertyInfo = myClassType.GetProperties();
Dictionary<string, int> property = new Dictionary<string, int>();
foreach (System.Reflection.PropertyInfo info in propertyInfo)
if (info.PropertyType == typeof(System.String))
property.Add(info.Name, -1);
myClass[] myPa = new myClass[2];
myPa[0] = new myClass();
myPa[0].S = "1";
myPa[0].I = 0;
myPa[1] = new myClass();
myPa[1].S = "12";
myPa[1].I = 1;
這是我需要幫助的地方。我發明了c[pair.key]
。如何參考一個我知道名稱的屬性?
foreach (myClass c in myPa)
foreach (KeyValuePair<string, int> pair in property)
if (c[pair.Key].Length > pair.Value)
property[pair.Key] = c[pair.Key].Length;
foreach (KeyValuePair<string, int> pair in property)
Console.WriteLine("Property: {0}, Biggest Size: {1}", pair.Key, pair.Value);
}
}
}
輸出768,16是:
Property: S Biggest Size: 2
我不明白。 –