Использование функции из класса в классе API - PullRequest
0 голосов
/ 15 февраля 2019

Я хочу установить некоторые данные в классе API, вызывая функцию из другого класса.

  1. Почему «main» имеет ошибку, когда «Classes» работает?Как и где я должен это определить?Ошибка: инициализатор поля не может ссылаться на нестатическое поле

  2. Как получить идентификатор, переданный в URL, для использования в моем классе?

Это мой код:

public class InformationController : ApiController
{
    Classes main = new Classes();

    Information[] Information = new Information[]
    {
        new Information { Info_ID = 2, fullName = main.getFullname("2"), },
    };

    public IEnumerable<Information> GetAllInformation()
    {
        return Information;
    }

    public Information GetInformationById(int id)
    {
        var information = Information.FirstOrDefault((p) => p.Info_ID == id);
        if (information == null)
        {
            throw new HttpResponseException(HttpStatusCode.NotFound);
        }
        return information;
    }

    public IEnumerable<Information> GetInformationByCategory(string category)
    {
        return Information.Where(
            (p) => string.Equals(p.std_nextClass, category,
            StringComparison.OrdinalIgnoreCase));
    }
}

1 Ответ

0 голосов
/ 15 февраля 2019

Вы можете попробовать инициализировать массив в конструкторе:

public class InformationController : ApiController
{
    private Classes main = new Classes();

    private Information[] Information;

    public InformationController()
    {
        Information = new Information[]
        {
            new Information { Info_ID = 2, fullName = main.getFullname("2"), },
        };
    }
  /// the rest of your code...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...