Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
部分类可以访问C#中的静态方法吗?_C#_Asp.net Mvc 3_Partial Classes - Fatal编程技术网

部分类可以访问C#中的静态方法吗?

部分类可以访问C#中的静态方法吗?,c#,asp.net-mvc-3,partial-classes,C#,Asp.net Mvc 3,Partial Classes,教程应用程序创建了一个POCO类,如: public partial class ShoppingCart { MusicStoreEntities storeDB = new MusicStoreEntities(); public static ShoppingCart GetCart(HttpContextBase context) { var cart = new ShoppingCart();

教程应用程序创建了一个POCO类,如:

public partial class ShoppingCart
    {
        MusicStoreEntities storeDB = new MusicStoreEntities();

        public static ShoppingCart GetCart(HttpContextBase context)
        {
            var cart = new ShoppingCart();
            cart.ShoppingCartId = cart.GetCartId(context);
            return cart;
        }
     }
如何访问分部类中的静态方法?在我看来,我们不能在部分类中访问静态方法。
partial
属性意味着类的其他部分将包含在名称空间中。在这个场景中,我不知道另一个分部类在哪里实现

关于这种静态方法,我的问题是:

  • 我们可以访问分部类中的静态方法吗?如果是,怎么做
  • 这个部分类在MusicStore应用程序中的何处实现?我找不到这个类实现的其他部分

  • 更新:
    models
    目录中没有其他
    ShoppingCart
    类。有人知道部分实施会在哪里吗

    C#中的
    partial
    类肯定可以访问
    静态
    方法。
    partial
    属性只表示类可以(不必)跨多个文件定义,否则不会影响成员查找

    编辑回复相关评论

    您找不到ShoppingCart的其他实现的一个可能解释是它可能不存在。
    partial
    类不需要有多个定义。
    partial
    仅表示定义中可能还有其他部分

  • 是的,您可以访问分部类中的静态方法

    分部类只是在多个源文件中表示常规类的一种方式,其中一些源文件通常由工具控制(或生成)

    你可以在任何地方调用ShoppingCart.GetCart(context),这是一个普通的公共静态方法

  • 你的第二个问题到底是什么意思还不是很清楚,但根本不需要另外一个问题。有一个只在单个文件中声明的分部类是很好的(尽管不常见)


  • 你能澄清一下吗。现在还不清楚你要的是什么,你应该可以像上别的课一样。你试过了吗?如果是这样,但它不起作用,您会得到什么错误?@JaredPar更新。它的偏类。我在问它将被定义在哪里。你当然可以!分部类与常规类完全相同,只是您可以在另一个
    .cs
    文件中将成员添加到该类中。请澄清你到底要做什么。我不会太担心找到另一个对应的部分类。根据源代码历史记录,您下载的代码自签入以来已更改了12次。最初可能打算在2个或多个文件之间共享该类,但后来放弃了这个想法或合并了文件。如果它真的让你那么烦恼,请删除
    partial
    关键字。如果应用程序仍在运行,祝您快乐。如果你想知道它是什么时候发生的,或者一直都是这样的话,你还可以检查CodePlex上的源代码历史记录,并检查旧版本的代码。@Ravi:那么“我能知道这部分代码是怎么来的”到底是什么意思?它只是一个源文件-它就在那里,你可以看到它。也许没有其他的部分,也许有…我搜索了所有的文件。也许我错过了什么