【发布时间】:2012-04-03 13:47:27
【问题描述】:
我有一个类库项目,我的命名空间/主类如下所示:
文件:Document.cs
namespace HtmlEngine
{
public class Document : IDisposable
{ ...
public class DocumentActionReplaceByTag : IDocumentAction
{
所有这些都可以正常工作,我在另一个项目/程序集中放置:
using HtmlEngine;
...
DocumentActionReplaceByTag currentDocAction = new HtmlEngine.DocumentActionReplaceByTag("[NEXT_PART]");
而且效果很好。但是,我现在已将该 Document 类文件分成几个文件,分别称为 DocumentActions.cs、DocumentSections.cs,并将主要功能保留在我的 Document.cs 文件中。我在每一个的顶部都放了:
public partial class Document : IDisposable
{
现在,在消费项目中,我收到“无法解析符号 'DocumentActionReplaceByTag'”错误。我仍然有对 HtmlEngine 的使用参考。
我能在网上找到的最接近的东西是这篇文章,它类似地描述了我的困境,但他不太清楚发生这种情况的原因:http://www.daniweb.com/software-development/csharp/threads/140673/understanding-partial-classes
我一直认为部分类是语法糖,它们在编译之前被组合成一个类。我为每个部分类声明重复了接口,不确定这是否是一个因素。
为什么现在超出范围?
【问题讨论】:
标签: c# scope partial-classes