//Page 40: Unit Test for Player class
//Player must have a health that is greater than 0
//When the character is created.
namespace UnitTestingSample
{
class PlayerTests
{
public bool TestPlayerIsAliveWhenBorn()
{
Player p = new Player(); //ERROR: 'UnitTestingSample.Player.Player()' is inaccessible due to its protection level
if (p.Health > 0)
{
return true; //pass test
}
return false; //fail test
}//end function
}//end class
}//end namespace
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//Page 41
//Player class has default health which is 10
//when his character is created
namespace UnitTestingSample
{
class Player
{
public int Health { get; set; }
Player() //constructor
{
Health = 10;
}
}
}
===============C#の:参照してください保護レベルのエラー
、これは私が悲しい作るものです。
このコードは、「C#Game Programming:Serious Game Creation」という名前のブックからのコードです。
私はこの本のCD-ROMからまったく同じコードを得ました。私のエラーがある間、そのサンプルコードは問題ありません。
これは私の初めてのC#を使用してゲームコーディングを書くことです。しかし、私が理解したように、私の仕事はすべきです。しかし、コンパイラはそうは思わないようです。
どうすればこの問題を解決できますか?
ありがとうございました!だから、Playerクラスはプライベートではないので、コンストラクターは必ずプライベートではないと思った。 –
この場合、特に明記していない限り、クラスはプライベートです。つまり、 'public class Player' – mynameiscoffey
@mynameiscoffeyネストされていないタイプ、すなわち' namespace'の直接メンバーであるタイプのデフォルトの保護レベルは、 C#の用語では「内部」と呼ばれます。同じ「プログラム」、すなわち同じアセンブリからのみアクセスすることができる。 –