我有一個類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不同,文件的名稱不必與類的名稱相匹配,因此您可以將其他聲明放在任何文件中,編譯器在掃描文件時可以找到它項目的一部分。 –