public void DataGridRowHeightSetter(DataGrid dg, int row, int Value)
{
ArrayList rowObjects;
dg = ((DataGrid)(dg));
MethodInfo mi = dg.GetType().GetMethod("get_DataGridRows", BindingFlags.FlattenHierarchy | BindingFlags.IgnoreCase | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static);
System.Array dgra = ((System.Array)(mi.Invoke(dg, null)));
rowObjects = new ArrayList();
object dgrr;
foreach (int dgrr in dgra) {
if (dgrr.ToString().EndsWith("DataGridRelationshipRow") == true) {
rowObjects.Add(dgrr);
}
}
try {
PropertyInfo pi = rowObjects(row).GetType().GetProperty("Height");
pi.SetValue(rowObjects(row), Value, null);
} catch {
throw new ArgumentException("invalid row index");
}
}
{
ArrayList rowObjects;
dg = ((DataGrid)(dg));
MethodInfo mi = dg.GetType().GetMethod("get_DataGridRows", BindingFlags.FlattenHierarchy | BindingFlags.IgnoreCase | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static);
System.Array dgra = ((System.Array)(mi.Invoke(dg, null)));
rowObjects = new ArrayList();
object dgrr;
foreach (int dgrr in dgra) {
if (dgrr.ToString().EndsWith("DataGridRelationshipRow") == true) {
rowObjects.Add(dgrr);
}
}
try {
PropertyInfo pi = rowObjects(row).GetType().GetProperty("Height");
pi.SetValue(rowObjects(row), Value, null);
} catch {
throw new ArgumentException("invalid row index");
}
}
说是什么对象未设置到实例
两种可能
1 mi本身是null
2 mi.Invoke函数返回null
get_DataGridRows这个方法,应该怎么写呢