首页 新闻 会员 周边

如何给自己预定义的数据结构实现Code_Behind功能呢?

0
悬赏园豆:10 [已关闭问题] 解决于 2013-08-14 19:29

我现在需要这么一个功能:我要新建一个类似于模版的东西(类似于类),这个模版会在运行时产生自己的实例(类似于对象)。这个类已经定义了自己的方法(C#),现在我想让这个模版有一个类似于code_behind的东西,这样子在code_behind里面可以重写这些预定义的方法。

现实中的例子就是asp.net的webForm了。我也是受此启发。实现这种东西有什么思路吗?因为这玩意涉及到编译。WebForm的code_behind asp.net会给编译的,我现在如何让自己的实现加入这个已经编译的大家庭呢?

本人升级为博问明星,悬赏加倍,10分。

小AI的主页 小AI | 菜鸟二级 | 园豆:354
提问于:2013-08-14 13:13
< >
分享
其他回答(2)
0

写个vs插件,自己写代码解析。。。流程大概是这么一回事吧。

收获园豆:2
路过秋天 | 园豆:4787 (老鸟四级) | 2013-08-14 13:25

这个是在VS之外的,我的设想是直接在web界面上设置。属于系统扩展的高级功能。

支持(0) 反对(0) 小AI | 园豆:354 (菜鸟二级) | 2013-08-14 13:32
0

你要的是不是partial 关键字

收获园豆:2
undefined | 园豆:898 (小虾三级) | 2013-08-14 13:28

不是的;

和WebPage一样,我所有的模版都有一个类似于System.Web.UI.Page这个的公用方法。 我现在要实现

public class 模版A:公用的 

{ 

   //can override stuff here 

}      

 

     

支持(0) 反对(0) 小AI | 园豆:354 (菜鸟二级) | 2013-08-14 13:41

@小AI: 俺懂了, 你的类叫Template, 然后你要在使用的时候用不同类型的Template。 你丫直接继承Template, 在Template上定接口不就行了吗!弄什么code behind啊。。。。

支持(0) 反对(0) undefined | 园豆:898 (小虾三级) | 2013-08-14 13:46

@小AI: 或者你要的是vs的template功能? 用户添加新item的时候可以选你的模板?

支持(0) 反对(0) undefined | 园豆:898 (小虾三级) | 2013-08-14 13:47

@undefined: 

这个在设计开发阶段可以这么做。现在的主要问题是我要在系统开发完毕以后,我需要提供别人可以在外围扩展的方法(高级功能for高级用户)。

并且我说的这个模版,用户可以随时创建多个的。我说的CodeBehind是一种形象的表示,比如用户点击模版,在点击什么“扩展”按钮,就可以“扩展”了。

当然可以在VS里面通过继承,再配置一下也是可以实现的,这样子不直接,比较繁琐。

支持(0) 反对(0) 小AI | 园豆:354 (菜鸟二级) | 2013-08-14 14:02

@小AI: 这个动态编译出一个插件出来 ,载入的时候直接载入插件,然后注册插件就可完成了。

支持(0) 反对(0) ````` | 园豆:14268 (专家六级) | 2013-08-14 14:07

@imfunny: 讨论了会,我的思路都出来了。你贴的代码我已经用上了,做了个demo,没有问题!谢谢侬

支持(0) 反对(0) 小AI | 园豆:354 (菜鸟二级) | 2013-08-14 19:30
0

我来看看 undefined说啥了

收获园豆:2
Lucky樱桃 | 园豆:126 (初学一级) | 2013-08-14 13:47

这次正经吧。

支持(0) 反对(0) 小AI | 园豆:354 (菜鸟二级) | 2013-08-14 14:03

相当正经。 不过我觉得你是来蹭豆的

支持(0) 反对(0) undefined | 园豆:898 (小虾三级) | 2013-08-15 11:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册