- Hands-On Object:Oriented Programming with C#
- Raihan Taher
- 271字
- 2021-07-02 12:44:43
The partial class
You can split a class, a struct, or an interface into smaller portions that can be placed in different code files. If you want to do this, you have to use the keyword partial. Even though the code is in separate code files, when complied, they will be treated as one class altogether. There are many benefits of partial classes. One benefit is that different developers can work on different code files at a time. Another benefit is that if you are using autogenerated code and you want to extend some functionality of that autogenerated code, you can use a partial class in a separate file. Consequently, you are not directly touching the autogenerated code, but adding new functionality in the class.
The partial class has a few requirements, one of which is that all classes must have the keyword partial in their signatures. All the partial classes also have to have the same name, but the file names can be different. The partial classes also have to have the same accessibility, such as public, private, and so on.
The following is an example of a partial class:
// File name: Animal.cs
using System;
namespace AnimalProject {
public partial class Animal {
public string name;
public int ageInMonths;
public void Eat(){
Console.WriteLine("Eating");
}
}
}
// File name: AnimalMoving.cs
using System;
namespace AnimalProject {
public partial class Animal {
public void Move(){
Console.WriteLine("Moving");
}
}
}
As shown in the preceding code, you can create many partial classes of a class. This will increase the readability of your code, and your code organization will be more structured.
- ASP.NET Web API:Build RESTful web applications and services on the .NET framework
- Visual Basic程序開發(學習筆記)
- Mastering Selenium WebDriver
- 名師講壇:Java微服務架構實戰(SpringBoot+SpringCloud+Docker+RabbitMQ)
- Building a Quadcopter with Arduino
- PhoneGap:Beginner's Guide(Third Edition)
- Node.js全程實例
- Mastering JavaScript Design Patterns(Second Edition)
- Internet of Things with ESP8266
- Building Serverless Architectures
- 創意UI:Photoshop玩轉APP設計
- Illustrator CS6設計與應用任務教程
- 從Excel到Python數據分析:Pandas、xlwings、openpyxl、Matplotlib的交互與應用
- Appcelerator Titanium:Patterns and Best Practices
- Robot Framework Test Automation