我试图使该字段公开;我也尝试过使用public get,即使按照我的理解,在属性内部访问修饰符只会在更严格的情况下才会起作用。但是我无法访问TestUnit的'问题。点'(最后一行)属性。我收到“获取访问者无法访问”警报。请注意,我可以从同一名称空间中的另一个类访问它。我必须在这里错过一些非常基本的东西。C#公共属性获取访问器无法从另一个命名空间访问
namespace Coordinates_Path
{
public interface IProblem
{
abstract public List<Node> Points { get; set; }
abstract public Object GetStartState();
abstract public bool IsGoalState();
abstract public Object GetSuccessor();
}
public class ShortestPathThroughCoordinates : IProblem
{
private Node startState;
private List<Node> points;
public List<Node> Points { get { return points; } private set; }
//...
//...
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Coordinates_Path;
using System.Linq;
using System.Collections.Generic;
namespace CoordPathTest
{
[TestClass]
public class KruskalTest
{
[TestMethod]
public void TestMST()
{
// ...
IProblem problem = new ShortestPathThroughCoordinates("P1", coordDic);
MSTKruskal kruskal = new MSTKruskal(problem.Points)
错误信息究竟是什么? “Node”类型是公开的,还是至少对测试程序集可见? –
你是。而已。我全力检查它,但不知怎的,没有注意到** Node **并未公开。谢谢 –
把它变成了答案,然后:-) –