gpt4 book ai didi

c# - BindingFlags.InvokeMethod 是什么意思?

转载 作者:行者123 更新时间:2023-11-30 14:42:03 25 4
gpt4 key购买 nike

我使用以下代码来避免使用 switch 语句来决定调用哪个方法,它只与我设置的 BindingFlags 标志一起工作,没有 InvokeMethodInvokeMethod 的实际含义是什么,为什么在以下代码中不需要它:

public enum PublishMethods
{
Method1,
Method2,
Method3
}
private void Form1_Load(object sender, EventArgs e)
{
InvokePublishMethod(PublishMethods.Method2);
}
private void InvokePublishMethod(PublishMethods publishMethod)
{
var publishMethodsType = this.GetType();
var method = publishMethodsType.GetMethod("Publish" + publishMethod, BindingFlags.NonPublic | BindingFlags.Instance);
method.Invoke(this, null);
}
private void PublishMethod2()
{
MessageBox.Show("Method2!");
}

最佳答案

InvokeMethod 未被 GetMethod 使用,但在您将 BindingFlags 传递给 Type.InvokeMember 时使用它.

BindingFlags是一种奇怪的枚举,它结合了三个独立的功能部分(根据 MSDN,“可访问性”、“绑定(bind)参数”和“操作”)。这三项功能在需要 BindingFlags 参数的任何地方都没有意义。

关于c# - BindingFlags.InvokeMethod 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3469419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com