定义了一个规则类,属性字段相同并且都还有一个parse 方法,但各对象的 parse 防范实现上稍有差别。如果不定义子类,能在对象创建的时候改写 parse 方法吗?
class rule
{
private string _title = "";
private string _regex = "";
public string tilte
{
get{return this._title;}
set{this._title = value}
} ...... public string parse(string input)
{
string output = "";
return output;
}
}
......public ArrayList ruleNode = new ArrayList();
rule tmp = new rule();
tmp.title = "title1";
//tmp.parse 方法不同示例稍有不同,能有办法改写吗?
ruleNode.add(tmp);rule tmp = new rule();
tmp.title = "title2";
//tmp.parse 方法不同示例稍有不同,能有办法改写吗?
ruleNode.add(tmp);
......另外想到的一种方案是,将 parse 也定义成字符串属性,通过在线编译来实现执行不同的效果。 还有其他方案吗?
class rule
{
private string _title = "";
private string _regex = "";
public string tilte
{
get{return this._title;}
set{this._title = value}
} ...... public string parse(string input)
{
string output = "";
return output;
}
}
......public ArrayList ruleNode = new ArrayList();
rule tmp = new rule();
tmp.title = "title1";
//tmp.parse 方法不同示例稍有不同,能有办法改写吗?
ruleNode.add(tmp);rule tmp = new rule();
tmp.title = "title2";
//tmp.parse 方法不同示例稍有不同,能有办法改写吗?
ruleNode.add(tmp);
......另外想到的一种方案是,将 parse 也定义成字符串属性,通过在线编译来实现执行不同的效果。 还有其他方案吗?
解决方案 »
- 大家一起来帮助 C#变得好,关于异步模型的建议
- (WFC)为什么运行svcutil.exe http://xxxxxx.com/Services.svc?wsdl不可以创建出配置文件?
- 高手来看看
- 未将对象引用设置到对象的实例 SOCKET
- 水晶报表运行时 进行编辑
- 求救啊,各位大侠win2008不能执行asmx文件是咋回事呢?
- 请教如何往另一台局域网的机器上拷贝文件,已知目标机器的权限
- 新建asp.net web Application碰见的问题
- devexpress XtraCharts 画图控件中怎么固定坐标轴的小数位
- 新手小白,想问一下,怎么读取传感器的数据到txt中。
- C#中怎么求微分?大侠们,
- 这段代码啥意思呀,WINDOWS开发中几乎都能看见
要么就传参数,parse里面有switch
{
}
{
((rule1)tmp).parse()
}??
ruleNode 里面对象很多,如果他们是不同的子类,不可能分得清的,也不可能像这样转换:
((rule1)tmp).parse() 该转换成 ruleX 呢?
((ruleX)tmp).parse()
ltrule.Add(rule1);
ltrule.Add(rule2);
foreach(rule r in ltrule)
{
r.parse();//无参数的话r不需要转换成你想要的
}