View Full Version : CodeDomDesignerLoader的Parse方法怎么使用?


sqycyl_Leo
04-06-2007, 10:40 AM
最近写一个窗体设计器,目前可以根据“设计窗体”使用CodeDOM产生源码,可我用源码生成“设计窗口”时报错。

public class CodeDomHostLoader : CodeDomDesignerLoader
{
......

protected override CodeCompileUnit Parse()
{
CodeCompileUnit ccu;
StreamReader swCS = new StreamReader(@"C:\C.cs",
System.Text.Encoding.Default);
CSharpCodeProvider ccp = new CSharpCodeProvider();
ccu = ccp.Parse(swCS);
return ccu;
}
}

在执行到ccp.Parse(swCS)时,报错“此 CodeDomProvider 不支持该方法。”
请问如何解决?

难道根据源码生成“设计窗口”不是这样吗?

t-xguo@prcvap.microsoft.com
04-09-2007, 07:33 AM
ã

CSharpCodeProvider ûʵParseԻ˵ĴҪԼʵָParser


߼ֹ֧ʦ
΢ȫ֧
---------------------------------------------------------------------------------------
ǵķʱ䣺һ9:00-18:00ڼճ⣩ǽգ48СʱṩʼӦһо⡣΢鼼֧Ϣʣhttp://support.microsoft.com/gp/newsgroupsupport/zh-cn.

ʱĶʹáظ(Reply to Group)⽫ûл
---------------------------------------------------------------------------------------
ԡ״ṩûκεͬʱҲûκȨ

sqycyl_Leo
04-09-2007, 07:52 AM
郭轩,你好!

首先感谢你的回复,这是我第一次在“新闻组”里提出问题。

“CSharpCodeProvider 没有实现Parse方法,所以会出现所说的错误,您需要自己实现该Parser。”

你的意思是说,CSharpCodeProvider
可以提供GenerateCodeFromCompileUnit或GenerateCodeFrom***方法用于生成源码,并没有提供返操作,即将源码解释到CodeCompileUnit。

尽管在解释时可以仅针对窗体单元中的InitializeComponent方法,但自己实现该操作(将源码解释到CodeCompileUnit)也是一件相当复杂的事。

请问有什么好的办法解决此问题吗?

t-xguo@prcvap.microsoft.com
04-10-2007, 08:36 AM
ã

http://support.microsoft.com/kb/813808/en-usһCustom Form Designer ʾԴлð


߼ֹ֧ʦ
΢ȫ֧
---------------------------------------------------------------------------------------
ǵķʱ䣺һ9:00-18:00ڼճ⣩ǽգ48СʱṩʼӦһо⡣΢鼼֧Ϣʣhttp://support.microsoft.com/gp/newsgroupsupport/zh-cn.

ʱĶʹáظ(Reply to Group)⽫ûл
---------------------------------------------------------------------------------------
ԡ״ṩûκεͬʱҲûκȨ

t-xguo@prcvap.microsoft.com
04-12-2007, 04:29 AM
ã

ڴ⣬Ƿʣκʣӭ΢ۡ


߼ֹ֧ʦ
΢ȫ֧
---------------------------------------------------------------------------------------
ǵķʱ䣺һ9:00-18:00ڼճ⣩ǽգ48СʱṩʼӦһо⡣΢鼼֧Ϣʣhttp://support.microsoft.com/gp/newsgroupsupport/zh-cn.

ʱĶʹáظ(Reply to Group)⽫ûл
---------------------------------------------------------------------------------------
ԡ״ṩûκεͬʱҲûκȨ