c# - Type.GetType(“{namespace.classname}{assemblyname}”) 在 C# 中不起作用
问题描述
Type type1=Type.GetType({namespace.classname}{assemblyname}) //string value
Type type =typeof(namespace.class name);//class name
如果我把这两个放在一起,那么 type1 加载值但是当只运行第 1 行时 type1 值为 null,即使它们都是两个单独的变量这是一个奇怪的问题
我需要使用激活器并使用字符串调用方法类和方法
解决方案
我不知道我是否理解你的问题。您似乎正在寻找有关如何使用System.Activator
. 当您提出问题时,如果您可以提供尽可能多的代码、上下文和清晰度来帮助指导人们回答您的问题,这总是有帮助的。请考虑花一些时间查看Microsoft 文档中的说明和示例。
我写了几行示例代码来说明 Activator 可以接受参数后面的Type
参数。该代码说明了Person
可以通过需要字符串参数的构造函数来创建对象,方法是typeof(Person)
在Activator.CreateInstance
. 希望这会有所帮助。
class Person
{
public string Name { get; set; }
public Person(string name)
{
Name = name;
}
}
class Program
{
static void Main(string[] args)
{
var result = Activator.CreateInstance(typeof(Person), "Joe");
if (result is Person person)
{
Console.WriteLine("Created new person:");
Console.WriteLine(person.Name);
}
}
}
推荐阅读
- objective-c - Objective C 和 Picker 中的 MDCTextField
- javascript - 在表格中按升序显示新记录
- azure - Azure B2C 什么是 serviceProviderMetadata?
- mongodb - 验证关系模型的唯一性
- javascript - 如何在 Webpack 中从我的 splitChunks 中分离出 webpack-dev-server?
- apache-kafka - KTable和本地商店的区别
- apache-spark - 点燃纱线和霍顿工厂
- python-3.x - 如何在 python jupyter notebook 上启用大数据输出?
- python - snap7 库和模块调用中的问题
- python - Python中的最小数