如何修复 C# 中的“无法访问内部类”错误?

问题描述 投票:0回答:3

我几乎使用现有代码在新文件中创建新类。我正在使用现有代码创建一个测试类。其中一个声明无法编译,并在 Resharper 中给我一个红色警告,指出:

此处无法访问内部类“...”。

我正在使用定义类的名称空间。我还缺少什么?

c# reference
3个回答
3
投票

您应该将课程标记为

public
而不是
internal

即使您使用了适当的命名空间,出现这样的错误也是合理的。原因是你通过 internal

暴露
public
类,这是不允许的。
internal
的类只能通过该类定义的程序集中的类型或可以查看程序集内部类的程序集来访问(请查看InternalsVisibleToAttribute)。


0
投票

<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net6.0</TargetFramework> </PropertyGroup> <ItemGroup> <InternalsVisibleTo Include="ProjName.Tests" /> </ItemGroup> </Project>



0
投票

using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("YourTestProject")]

© www.soinside.com 2019 - 2024. All rights reserved.