部分类可以访问C#中的静态方法吗?
教程应用程序创建了一个POCO类,如:部分类可以访问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();
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
属性意味着类的其他部分将包含在名称空间中。在这个场景中,我不知道另一个分部类在哪里实现
关于这种静态方法,我的问题是:
更新:在
models
目录中没有其他ShoppingCart
类。有人知道部分实施会在哪里吗 C#中的partial
类肯定可以访问静态
方法。partial
属性只表示类可以(不必)跨多个文件定义,否则不会影响成员查找
编辑回复相关评论
您找不到ShoppingCart的其他实现的一个可能解释是它可能不存在。partial
类不需要有多个定义。partial
仅表示定义中可能还有其他部分
你能澄清一下吗。现在还不清楚你要的是什么,你应该可以像上别的课一样。你试过了吗?如果是这样,但它不起作用,您会得到什么错误?@JaredPar更新。它的偏类。我在问它将被定义在哪里。你当然可以!分部类与常规类完全相同,只是您可以在另一个
.cs
文件中将成员添加到该类中。请澄清你到底要做什么。我不会太担心找到另一个对应的部分类。根据源代码历史记录,您下载的代码自签入以来已更改了12次。最初可能打算在2个或多个文件之间共享该类,但后来放弃了这个想法或合并了文件。如果它真的让你那么烦恼,请删除partial
关键字。如果应用程序仍在运行,祝您快乐。如果你想知道它是什么时候发生的,或者一直都是这样的话,你还可以检查CodePlex上的源代码历史记录,并检查旧版本的代码。@Ravi:那么“我能知道这部分代码是怎么来的”到底是什么意思?它只是一个源文件-它就在那里,你可以看到它。也许没有其他的部分,也许有…我搜索了所有的文件。也许我错过了什么