我有一个类Employee.cs它是由EntityFramework自动生成,当我连接到数据库,现在我想实现部分类,但我不能使用该类的“Employee.cs”名称,因为它已经存在。我可以给其他名称它,它会工作吗?你能解释一下编译器如何知道Employee.cs还有另一部分类?如何在MVC4中实现部分类?
回答
你可以给你想要一个像Employee.custom.cs任何名称的文件,但你必须调用员工在相同的命名空间中的其他文件Employee类在它的类,也有partial
修改器,你应该很好去。
编译器只收集所有具有相同名称的partial
类,并将其编译为每个名称的一个类。
但是Employee类是自动生成的。他不应该采取增加部分关键字的路线..对吧? –
谢谢,我已经测试过了,像魅力一样工作。 – ihavenokia
@Reddy EF code-first应该默认生成部分类。 –
编译器始终使用全名的类。如果有一个名为MyProject的项目,为类全名会是这样的:
MyProject.Employee
,如果你想使用相同的名称创建类,你要添加的命名分离的水平,或者如果它必须使用此生成的类进行部分分类,您必须将其标记为部分。
您可以创建(在型号/ Employee.cs):
public class MyProject.AnySubPath.Employee {}
或者:
在文件型号/ Employee.cs
public partial class MyProject.Employee {}
在文件ViewModel/Employee.cs
public partial class MyProject.Employee {}
重要的是你要明白什么是部分平均&会出现什么编译器与您的类:事实上,编译器将只是把所有的partial
类在一起,然后编译它们。只有partial
才能从中受益,因为您可以将代码拆分为多个文件。这里的例子是Windows.Forms
,其中你有“代码隐藏”文件(Form1.cs),然后你有“设计器”文件(Form1.Designer.cs)。
此外,您可以将文件命名为任何您想要的名称,只有通用的标准是拥有1个class = 1的文件,并且类名应该适合文件名。
- 1. 如何在JavaScript中实现部分类?
- 2. 如何在外部类中实现RemoteObject?
- 3. 如何在.Net中实现动态部分XML类序列化?
- 4. 如何在子类中实现部分函数
- 5. 如何在部分类模板专业化中实现继承?
- 6. 如何在node.js中实现ajax以实现部分回发
- 7. 如何在派生类或通过部分类实现接口?
- 8. 如何实现单点登录在MVC4
- 9. 在哪个条件部分类实现?
- 10. 如何实现分层可选部分?
- 11. 如何在实体框架5/6中实现部分更新?
- 12. MVC4中的LDAP实现
- 13. 我可以有一个在Swift中部分实现的类,部分在Objective C中实现?
- 14. 如何在Python中使用部分透视实现LU分解?
- 15. Objective-C部分实现分类文件中的类
- 16. 如何在类类型内部实现类类型?
- 17. 使用TinyMCE在MVC4中实现jquery.noconflict()
- 18. C#部分类的ColdFusion CFC实现?
- 19. 如何实现交错GridView的部分?
- 20. 如何实现一个内部类?
- 21. 如何使用外部类实现ActionListener?
- 22. java如何实现内部类关闭?
- 23. 在布局中呈现强类型局部视图MVC4剃刀
- 24. 如何使用ViewModel在MVC4应用程序中实现IEnumerator
- 25. 如何在MVC4 Razer中实现依赖下拉列表
- 26. 如何在ASP.NET MVC4中实现“阅读更多内容”
- 27. 如何在.Net MVC4中实现“更改密码”重定向?
- 28. 在SWI-Prolog中实现部分评估
- 29. System.Collections.ObjectModel.ObservableCollection仅在Monotouch中部分实现?
- 30. 在mysql中实现rfc4226(HOTP)的部分
请注意,在C#中,与Java不同,文件的名称不必与类的名称相匹配,因此您可以将其他声明放在任何文件中,编译器在扫描文件时可以找到它项目的一部分。 –