是在搞不明白。。。谢谢 本帖最后由 wangchao813 于 2009-06-22 15:57:10 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实在不好意思,你的代码我看得云里雾里的!我想确定下,你的代码是JavaScript吗?var obj =Cache[parms]; Cache[parms];中存放的是一个类对象那可以这样写吧for(var a in obj){ .....}遍历出object中的所有属性 for(var a in obj) { alert(obj[a]); } Cache[parms]里面存储的是object对象,在写代码的时候确切是什么类型的对象,编译器不知道但是在你运行调试的时候,编译器也是对他进行强制转换,转换成你保存的对象类型,所以你才可以看到name和Age的属性,所以在codeing的时候Cache[parms]这里必须进行强制转换,不然编译器不知道啥类型的。 for in 语句是可以遍历出来的 string a="abc"; //强类型var str = a; //弱类型,用他的时候才指定类型 这样的话 str 的值是 abc str 的类型是 stringobject o = classobj; //声明一个对象的的引用o 指向clasobj foreach in 是对集合的遍历,你这AGE,Name是对象的属性,而不是集合 呵呵,你还没搞明白啊?你之所以能在调试状态下看到obj的类型及属性,是因为编译器的svchost.exe,宿主进程为你计算得到的,其原理与我们直接在代码中用反射是一样的var匿名类型只能根据=后面的类型类推断变量的类型,所以我觉得你要的这个效果除了强制转换和反射之外,很难有其它办法了 一,解释下 string a="abc"; var str = a; var 关键字定义的是匿名变量,就是要靠=右边的来推断出变量的类型 上面的str是字符串的变量了,那么如果你str=123;就会发生编译时错误。object o = class obj; object是所有类型的基类,所有的值类型包括引用类型都是间接或者直接继承于object 不信的话你可以obj.点了以后肯定有ToString()方法。1,var class = classobj; 参考上面的解释2,var class = o; 参考上面的解释二、 var obj =Cache[parms]; Response.Write(parms); Response.Write(obj.GetType()); Cache[parms];中存放的是一个类对象,对象中包含两个属性name,age。 Cache[parms]; 返回的是一个object; obj 但是运行时是可以看到name,age属性的。 是否能够遍历运行时的obj。那你可以var obj=(类名)Cache[parms];要想可以遍历就要实现IEnumerable接口 大家来聊聊高科技,关于分步式系统的难点。(事务问题--不是数据库事务) 判断日期 如何根据FTP站点地址如何获取站点名称? ASP.NET关于JS中选中RadioButton控件显示隐藏的TextBox控件 .....请教asp.net中对 文本文件 的操作.................. asp.net 提示等号附近有语法错误 求一个表达式的Check,高手请进,有懂编译原理和算法的XDJM救命啊!!! config中的数据库连接问题? 关于上传大文件的问题!急 .net怎么做文件上传的进度条 asp.net 后台调用前台的js里面的方法 可以通过某种方法实现中英文的转换吗?
我想确定下,你的代码是JavaScript吗?var obj =Cache[parms];
Cache[parms];中存放的是一个类对象
那可以这样写吧
for(var a in obj)
{
.....
}
遍历出object中的所有属性
{
alert(obj[a]);
}
但是在你运行调试的时候,编译器也是对他进行强制转换,转换成你保存的对象类型,所以你才可以看到name和Age的属性,
所以在codeing的时候Cache[parms]这里必须进行强制转换,不然编译器不知道啥类型的。
var str = a; //弱类型,用他的时候才指定类型
这样的话 str 的值是 abc str 的类型是 string
object o = classobj; //声明一个对象的的引用o 指向clasobj
你之所以能在调试状态下看到obj的类型及属性,是因为编译器的svchost.exe,宿主进程为你计算得到的,其原理与我们直接在代码中用反射是一样的
var匿名类型只能根据=后面的类型类推断变量的类型,所以我觉得你要的这个效果除了强制转换和反射之外,很难有其它办法了
string a="abc";
var str = a;
var 关键字定义的是匿名变量,就是要靠=右边的来推断出变量的类型 上面的str是字符串的变量了,那么如果你str=123;就会发生编译时错误。object o = class obj;
object是所有类型的基类,所有的值类型包括引用类型都是间接或者直接继承于object 不信的话你可以obj.点了以后肯定有ToString()方法。1,var class = classobj;
参考上面的解释
2,var class = o;
参考上面的解释二、
var obj =Cache[parms];
Response.Write(parms);
Response.Write(obj.GetType()); Cache[parms];中存放的是一个类对象,对象中包含两个属性name,age。
Cache[parms]; 返回的是一个object;
obj 但是运行时是可以看到name,age属性的。
是否能够遍历运行时的obj。那你可以var obj=(类名)Cache[parms];
要想可以遍历就要实现IEnumerable接口