C#部分类出现错误

22

我正在使用部分类将某些功能分割到2个文件中,但是出现了一个错误。我做错了什么?

A1.cs:

private partial class A
{
    private string SomeProperty { get { return "SomeGeneratedString"; } }       
}

A2.cs:

private partial class A
{
    void SomeFunction()
    {
        //trying to access this.SomeProperty produces the following compiler error, at least with C# 2.0
        //error CS0117: 'A' does not contain a definition for 'SomeProperty'
    }
}
12个回答

0

一个角落的情况是,如果您正在使用部分类来补充运行时文本模板生成的类,则额外的帮助可以节省您的时间。

很有可能问题确实是您的部分类的命名空间与该类的生成部分的命名空间不同。要检查这一点,只需查看生成的代码即可。

要解决这个问题,您需要编辑项目的 .csproj 文件,并在有关该模板的部分中添加 <ClassNamespace> 标记:

<Content Include="MyTemplate.tt">
  <Generator>TextTemplatingFilePreprocessor</Generator>
  <ClassNamespace>My.Namespace</ClassNamespace>
  <LastGenOutput>MyTemplate.cs</LastGenOutput>
</Content>

-3

仅供参考(VS 2020)... 错误 CS0103 => 都一样但不同的文件夹。

但是类应该具有相同的命名空间并且也应该在同一个文件夹中 !!!

虽然它们可以在相同的命名空间中定义,但两个文件都应该在同一个文件夹中。我知道文件夹结构应该反映命名空间,但为了区分生成的代码和我的添加的代码,我想通过文件夹进行分离,但它不起作用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接