>I changed the scope of a method from public to protected, and now I get this:
>
>
>Chess.PieceBase' does not implement interface member 'Chess.IPiece.DetermineTargets()'. 'Chess.PieceBase.DetermineTargets()
>cannot implement an interface member because it is not public. C:\Projects\Chess\Chess\Pieces\PieceBase.cs
>
>
>Why does a method defined in an interface need to be public?
Because if a method is not public, then it won't be used outside of the class, and therefore doesn't need to be defined in the interface.