По какой-то причине, когда я вызываю пространство имен в этом классе, я получаю сообщение об ошибке, в котором говорится, что
это требует ссылки на объект. Я думал, что использование ссылочной переменной типа IMethodResponses позволит мне получить доступ к методу в его собственном создании, но
Я не могу этого сделать, и при этом я не могу просто реализовать интерфейс без ссылки и использовать его методы ...
Может кто-нибудь помочь мне с этим? Я тоже выложу сам интерфейс на случай, если что-то не так. Наверное, я должен отметить, что я не делал это очень долго.
// Интерфейс реализации класса:
internal sealed class Name : INameCreation, IMethodResponses
{
public ScratchCreate create = ScratchCreate.create;
ListCreate select = new ListCreate();
public IMethodResponses _responses = IMethodResponses; //<--Error
public static void ChooseName()
{
int response;
Console.WriteLine("Press \'1\' to select from a list of names, or \'2\' to create your own.");
Console.WriteLine("If you wish to quit, you may do so by pressing \'0\'");
response = int.Parse(Console.ReadLine());
do
{
Console.WriteLine("Sorry, you didn't enter any of the correct responses...");
Console.WriteLine("Press \'1\' to select from a list of names, or \'2\' to create your own.");
Console.WriteLine("If you wish to quit, you may do so by pressing \'0\'");
response = int.Parse(Console.ReadLine());
}
while (response != 0 || response != 1 || response != 2);
_responses.IntegerResponse(response);
}
public void IntegerResponse(int response)
{
switch (response)
{
case 0:
Console.WriteLine("Goodbye!");
break;
case 1:
break;
case 2:
break;
}
}
// Интерфейс:
namespace PlayerCreation
{
public interface INameCreation
{
}
public interface IMethodResponses
{
void IntegerResponse(int response);
void StringResponse(string response);
}
}