[короткое напоминание: английский не мой родной язык :)]
Здравствуйте, у меня есть эта проблема в течение нескольких дней (и она начинает сводить меня с ума).
Как гласит заголовок, моя проблема в том, что мне нужно программно изменить параметр «обновить правила» (перед созданием) KpiListItem в рабочем процессе.Не проблема получить доступ к самому элементу или чему-либо еще, но я не могу найти способ получить доступ к параметру.Я нашел возможное решение (учебное пособие) для доступа к нему с помощью KpiFactory ( source ), но этот пример уже застрял в моем коде в строке, где я пытаюсь вызвать функцию «GetKpiData»: (Предоставление мнеисключение из-за объекта-массива emty ..., но невозможно получить некоторую информацию о параметрах функции GetKpiData в сети, SDK или некоторых книгах, которые я проверял)
SPListItem item = newWeb.Lists[nameIndicatorList].Items[0];
Assembly asm = System.Reflection.Assembly.Load("Microsoft.SharePoint.Portal, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c");
Type t = asm.GetType("Microsoft.SharePoint.Portal.WebControls.KpiFactory");
MethodInfo mi = t.GetMethod("GetKpi", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static, null, new Type[] { item.GetType() }, null);
object kpi = mi.Invoke(null, new object[] { item });
mi = kpi.GetType().GetMethod("GetKpiData", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance, null, new Type[] { }, null);
object kpidata = mi.Invoke(kpi, new object[] { });
(Item-object - это индикатор, к которому я хочу получить доступ)
В любом случае, я следовал руководству только для того, чтобы проверить, достижимо ли свойство.Если это сработает, это будет лишь полшага вперед, потому что в конце я хочу изменить свойство, а не просто прочитать его.
Я надеюсь, что у кого-то есть решение для моей конкретной проблемы.Это действительно доставляет мне головную боль.(Даже частичный ответ может помочь.)
С уважением, Маркус Швальбе