C# 实现静态方法的最佳实践

C# 实现静态方法的最佳实践,c#,methods,static,C#,Methods,Static,我试图在我的产品类中实现一个静态函数来“获取”产品 我得到的结果是嵌套一个Get子类,如下所示: Product.Get.ByName("Cool Product") 但我觉得子类列表不是最好的做法 我希望这样完成我认为正确的实施: Product.Get().ByName(x => x.Name = "Cool Product"); 我如何创建这种sub-sub方法(这个词对吗?) 如果要在get之后添加,则需要一个子类,但可以将该子类本身设置为静态: class Product {

我试图在我的产品类中实现一个静态函数来“获取”产品

我得到的结果是嵌套一个Get子类,如下所示:

Product.Get.ByName("Cool Product")
但我觉得子类列表不是最好的做法

我希望这样完成我认为正确的实施:

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

我如何创建这种sub-sub方法(这个词对吗?)

如果要在get之后添加
,则需要一个子类,但可以将该子类本身设置为静态:

class Product
{
     public static class Get
     {
          public static Product ByName()
          {
                //some code to return a product (or may be products)
          }
     }
}
现在可以通过以下方式访问:

Product.Get.ByName();

如果要在get之后添加
,则需要一个子类,但可以将该子类本身设置为静态:

class Product
{
     public static class Get
     {
          public static Product ByName()
          {
                //some code to return a product (or may be products)
          }
     }
}
现在可以通过以下方式访问:

Product.Get.ByName();

为什么需要Get类,这更简单吗:

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

用法:
Product.GetByName()

为什么需要Get类,这更简单吗:

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

用法:
Product.GetByName()

不清楚您要做什么。你想做类似的事情吗?@stephen.vakil是的,这看起来像是我想完成的。例如,当您调用一个返回列表的方法时,您可以直接将此列表与like List.foreach()一起使用,但不清楚您要做什么。你想做类似的事情吗?@stephen.vakil是的,这看起来像是我想完成的。例如,当您调用一个返回列表的方法时,您可以直接将此列表与like List一起使用。foreach()是的,这正是我现在正在做的,但我不确定这是否正确。@josef_skywalker如果您想将所有Get方法聚集在一起,ById,By。。。。,是的,这是正确的方法。我猜你是对的,我对实际获取对象和获取后过滤对象感到困惑them@josef_skywalker如果有帮助,我很高兴是的,这正是我现在正在做的,但我不确定这是否正确。@josef_天行者如果你想收集所有的Get方法,ById,By。。。。,是的,这是正确的方法。我猜你是对的,我对实际获取对象和获取后过滤对象感到困惑them@josef_skywalker如果有帮助,我很高兴