我厌倦了为Unity3D项目编写单元测试。 MonoBehaviours 存在这个大问题,使其变得非常困难。为了解决这个问题,我使用this教程制作了一个名为 Humble Object 的对象构造。
在教程中已经有了这段代码(我简化了它):
public class Something : ISomething
{
#region ISomething implementation
void Test1() {
// do something
}
#endregion
void Test2() {
Test1 ();
}
}
我得到它,这应该相当于:
interface ISomething
{
void Test1();
}
public class Something : ISomething
{
public void Test1() {
// do something
}
void Test2() {
Test1 ();
}
}
但是,如果我写第一个代码并尝试编译,我收到此错误消息:(第二个代码完成工作)
[...] The type or namespace name `ISomething' could not be found. Are you missing a using directive or an assembly reference?
答案 0 :(得分:4)
您似乎认为使用#region ISomething implementation
实际上定义了界面。
没有。 #region
s have no effect on the code. They are just informational
您必须在第二个示例中实际定义接口(并使其至少与实现类一样可访问,在本例中为public
)。
答案 1 :(得分:2)
我得到它,这应该相当于:
没有,根本没有。你必须首先创建接口,这就是它抛出所述错误的原因。 Region
只是代码标记,可以更好地实现可更新性。