gpt4 book ai didi

c# - 无法从程序集 xxx 加载类型 xxx

转载 作者:行者123 更新时间:2023-12-02 17:41:04 25 4
gpt4 key购买 nike

我正在制作一个 Windows 应用程序,用户可以从组合框中选择一种类型。根据选择,我想使用反射创建相应类型的实例并调用其方法之一。我想要创建的类型也在同一个 Windows 应用程序中定义为单独的类。但我收到标题中提到的错误。这是我的代码。

Form1 代码:

public partial class Form1 : Form
{

public Form1()
{
InitializeComponent();
cbLogs.SelectedIndex = 0;
}

private void btnProcess_Click(object sender, EventArgs e)
{
lblMessage.Text = "";
lblResult.Text = "";
if (cbLogs.SelectedIndex <= 0)
{
lblMessage.Text = "Please select Log to be processed";
cbLogs.Focus();
return;
}
Assembly currAss = System.Reflection.Assembly.GetExecutingAssembly();
//I get above error on below line.
object obj = Activator.CreateInstance(currAss.FullName,"SustainabilityXpress ");
Type type = obj.GetType();
object result = type.InvokeMember("process",
BindingFlags.Default | BindingFlags.InvokeMethod,
null, obj, null);

lblResult.Text = result.ToString();

}

}

ILogBase接口(interface):

interface ILogBase
{
string process();

}

实现 ILogBase 的 SustainabilityXpress 类:

public class SustainabilityXpress: ILogBase
{
string LogName = "SUSTAINABILITYXPRESS";
public string process()
{
return "Sustainabilityxpress";
}
}

最佳答案

请务必正确命名 SustainabilityXpress 类 - 您是否忘记添加其命名空间? (例如,“Name.Space.SustainabilityXpress”)。

另外,请检查Activator.CreateInstance以确保满足所有要求。

而且,正如 @Grzenio 指出的那样,SustainabilityXpress 名称中可能存在拼写错误。

关于c# - 无法从程序集 xxx 加载类型 xxx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3185519/

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