1、此变量类型是否支持ICloneable,如果支持的话,可以使用 param.clone得到一个新的变量。
2、如果不支持的话,就需要用到反射,
a. dim myType as type=gettype(param)
b. 使用反射 activator.createinstance 可以创建类型为MyType的新实例。
使用a,还是b,?只用a吗?
记得 dim 是VB里定义变量的。
有C#版的不?var myType as type
@Cornelius: 问题是这种也会有问题,如果这个类根本就没有公开的构造函数的话,是无法创建的。
@Cornelius:
C#版的是
Type myType=param.gettype();
object newObject=activator.createinstance(mytype);
string param = 1;
string param2 = param;
这样 ??????
没看懂,请详细说明
这是获取 变量 的类型了,怎么根据这个获取的类型定义变量呢?
string aa = "mystr”;
Type type = typeof(aa);
type cc = new type/////这里要怎么写?
typeof(变量)
这是获取 变量 的类型了,怎么根据这个获取的类型定义变量呢?
string aa = "mystr”;
Type type = typeof(aa);
type cc = new type/////这里要怎么写?
@Cornelius: type cc = new type();这或许会更正确点吧。
T Copy<T>(T obj):where T : new()
{
T obj2=new T();
return obj2;
}
代码未经测试,但这种方式绝对可行,以前用过的
@沧海一杰: 去掉函数声明的第一个冒号
@沧海一杰: 怎么用这个定义新变量呢
activator.createinstance
var a=1;(根据你的输入来)
var b=a;
假如有个变量:
String str="Messages";
Type ty=a.GetType();
MessageBox.Show(ty.ToString());
结果是System.String
您是想要这个吗?
不是