TaskList.InvokeMethod(String, Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定したメソッドを呼び出します。
public:
virtual System::Object ^ InvokeMethod(System::String ^ methodName, System::Object ^ userData);
public virtual object InvokeMethod(string methodName, object userData);
abstract member InvokeMethod : string * obj -> obj
override this.InvokeMethod : string * obj -> obj
Public Overridable Function InvokeMethod (methodName As String, userData As Object) As Object
パラメーター
- methodName
- String
呼び出すメソッドの名前。
- userData
- Object
ユーザーが指定した任意のオブジェクト。
戻り値
ユーザー定義のオブジェクトです。
例
public override object InvokeMethod(string methodName, object userData)
{
Type taskListType = GetType();
MethodInfo methodInfo = taskListType.GetMethod(methodName);
if (methodInfo != null)
{
if (userData == null)
{
return methodInfo.Invoke(this, null);
} else
{
return methodInfo.Invoke(this, new object[] { userData });
}
} else
{
throw new InvalidOperationException("methodName : " + methodName +
"\n taskListType.Name " + taskListType.Name);
}
}
/// GetTaskItems() is called every time the context menu is invoked.
public override System.Collections.ICollection GetTaskItems() {
ArrayList items = new ArrayList();
Image imgAsk = rLoadImg.loadImgs(SystemIcons.Asterisk, 16);
Image imgErr = rLoadImg.loadImgs(SystemIcons.Error, 16);
items.Add(new MethodTaskItem(
"DisplayTime", // Method Name
"Show Time", // Menu item Text
"DemoCategory") // Category
);
Person prs = new Person(66, "Joe", "Smith");
MethodTaskItem mti_i = new MethodTaskItem(
"InvTst", // Method Name
"Invoke Test", // Menu item Text
sDemoCat, // Category
"Tool Tip:SC", // ToolTip non-functional
imgAsk, // Menu Icon
prs); // user data
mti_i.CausesNavigation = false;
traceMTI(mti_i);
items.Add(mti_i);
items.Add(new MethodTaskItem(
"ShowCnt", // Method Name
"Show Count", // Menu item Text
sDemoCat, // Category
"Tool Tip:SC", // ToolTip non-functional
mti_i.Image) // Menu Icon
);
public void myInvoke()
{
TaskList tl = getMyTaskList();
Person p = new Person(49, "Joe", "Smith");
tl.InvokeMethod("InvTst", p);
}
// DemoHierarchyInfo.InvTst()
//
public int InvTst(Person p)
{
Trace.WriteLine(" InvTst : person age: " + p._age.ToString()
+ "\n First name \"" + p._fName
+ "\"\n Last name " + p._LstName + "\"");
return SH._pCnt;
}
// method DemoHierarchyInfo.HierarchyDemoInfoTaskList.InvTst()
public void InvTst(object obj)
{
// Call parents InvTst (DemoHierarchyInfo.InvTst )
//
_owner.InvTst((Person)obj);
UpdateCurPers();
_owner.flush();
}
注釈
null userData 以外のパラメーターは、 をビルドTaskListするときに 6 パラメーター MethodTaskItem コンストラクターを使用してメソッド タスク 項目を作成した場合にのみ有効です。