Лучшая практика для реализации статического метода - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь реализовать статическую функцию в моем классе Product для «получения» продуктов.

В результате я получил вложенный класс Get, подобный этому:

Product.Get.ByName("Cool Product")

Но я чувствую, что подкласс - не лучшая практика для этого.

Я хотел бы выполнить это так, как я думаю, было бы правильной реализацией:

Product.Get().ByName(x => x.Name = "Cool Product");

Как я мог бы создать подобный метод sub sub (это даже правильное слово?)?

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Зачем вам нужен класс Get, это проще:

    public class Product
    {
        public static Product GetByName()
        {
            //some code to return a product (or maybe products)
        }
    }

Использование: Product.GetByName();

0 голосов
/ 06 декабря 2018

Если вы хотите добавить . после получения, вам понадобится подкласс, однако вы можете сделать сам этот подкласс статическим:

class Product
{
     public static class Get
     {
          public static Product ByName()
          {
                //some code to return a product (or may be products)
          }
     }
}

Теперь к нему можно получить доступ следующим образом:

Product.Get.ByName();

Live Demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...