繁体   English   中英

名称 Secrets 是 C# 中类的无效名称吗

[英]Is the name Secrets an invalid name for a class in C#

我可能犯了一个愚蠢的错误,但我看不到它。

我按照这里的简单 Newtownsoft 示例向我的项目添加了一个自定义类。

namespace MyApp
{
     public class Secrets
     {
          public string Test {get;set;}
     } 
}

但是当我在 Program.cs 中引用该类时:

      namespace MyApp
      {
          static class Program
           {
              [STAThread]
              static void Main()
               {
                 <snip>

                 string json = FetchJson();
                 var MySecrets = JsonConvert.DeserializeObject<Secrets>(json);   // this line
               }
           }
      }
 

Visual Studio 在<Secrets>下划线并表示找不到类型或命名空间“Secrets”。 但是项目编译没有错误。

如果我将类的名称更改为Sekrets那么 Visual Studio 会找到它并且很高兴。

PS 如果我然后将文件从Sekrets.cs重命名回Secrets.cs并让 VS 进行全局更改,那么 VS 仍然很高兴,没有错误,没有红色下划线。

PS 如果我然后将文件从 Sekrets.cs 重命名回 Secrets.cs 并让 VS 进行全局更改,那么 VS 仍然很高兴,没有错误,没有红色下划线。

听起来像是 Intellisense 数据库问题,您通常通过关闭 VS 然后删除.vs文件夹来解决这些问题。 下次打开解决方案时,VS 将从头开始重建数据库。

幸运的是,它在 C# 中几乎从未发生过,因为它是一种比 C++ 更容易解析的语言。 Intellisense 在解析它时确实存在问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM