考试网 >> IT认证 >> JAVA >> JAVA指导 >> 用javascript模拟C#的[Attribute]用法

用javascript模拟C#的[Attribute]用法

发布时间:2006-06-28 11:11     点击:
分页:上一页  1 [2] 3 4  下一页

var matches = obj.constructor.toString().match(attributeDef);

if(matches != null)

{

for (var i = 0; i < matches.length; i++)

{

var part = matches[i].split(/[\s\n]/);

var attrLists = part[0].split(",");

var methodObj = eval(part[part.length-1]);

methodObj.__attributes = new Array();

methodObj.__attributes.__all = new Array();

for (var j = 0; j < attrLists.length; j++)

{

if(!/^.+\(.*\)$/.test(attrLists[j].slice(1,-1)))

{

attrLists[j] = "[" + attrLists[j].slice(1,-1) + "()" + "]"; //处理省略括号的情况

}

if(!/^.+Attribute$/.test(attrLists[j].split("(")[0]))

{

attrLists[j] = attrLists[j].split("(")[0] + "Attribute" + "(" + attrLists[j].split("(")[1];

}

var attrObj = eval(eval(attrLists[j])[0]);

methodObj.__attributes.__all.push(attrObj);

methodObj.__attributes[attrLists[j].split("(")[0].replace(/[\[\]]/g,"").replace(/Attribute$/g,"")] = attrObj;

methodObj.__attributes[attrLists[j].split("(")[0].replace(/[\[\]]/g,"")] = attrObj;

}

}

}

}

function UnitTest() //单元测试框架,被赋予[TestMethod]特性的方法会被作为Case执行测试

{

this.errors = 0;

this.passed = 0;

//声明TestMethod特性,testString方法将被runCase方法执行,同时声明了DebugOutput特性,将返回的信息输出到调试窗口

//特性的声明必须放在被指定特性的方法之前,而且要独占一行,如果有多个特性可以以逗号分隔
分页:上一页  1 [2] 3 4  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有