C# 语法问题!望前辈们可以指点迷津

.Net技术 码拜 7年前 (2017-04-26) 916次浏览
public void A(string str1)
{
  var A= new AAA.logo.xxx();
}

这里面的xxx本人想要用str1 来代替可以嘛?

解决方案

5

不行
假如你是想按字符串的类名来生成对象实例
那么需要用反射

10

用反射应该是可以的吧, 这样:

var A = System.Activator.CreateInstance(null, "AAA.logo." + str1);

5

引用:
Quote: 引用:

用反射应该是可以的吧, 这样:

var A = System.Activator.CreateInstance(null, "AAA.logo." + str1);

可以手撸一个例子嘛?本人具体用的时候是这个样子:

   public void XXX(string str1)
        {
            using (var A= new Key.Modle.XXX() )
            {
            }
        }

using,你必须要有IDisposable接口,因此你这个位置并不需要这样。
所以你只需要用一句:

{
var A = System.Activator.CreateInstance(null, "Key.Modle." + str1);
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C# 语法问题!望前辈们可以指点迷津
喜欢 (0)
[1034331897@qq.com]
分享 (0)