Home Backend Development C#.Net Tutorial The role of the partial keyword in C# (excerpt)

The role of the partial keyword in C# (excerpt)

Dec 14, 2016 pm 02:57 PM

1. What is a local type?

C# 2.0 The concept of local types is introduced. Local types allow us to divide a class, structure or interface into several parts and implement them in several different .cs files.

Local types are suitable for the following situations:

(1) The type is extremely large and should not be implemented in one file.
(2) Part of the code in a type is code generated by automated tools and should not be mixed with code written by ourselves.
(3) Multiple people need to work together to write a class.

Local types are a pure language layer compilation process that does not affect any execution mechanism - in fact, the C# compiler will still merge the local types of each part into a complete class during compilation.

public partial class Program
{
static void Main(string[] args)
{
}
}

partial class Program
 {
      public void Test()
                                                          }

2. Limitations of local types


(1) Local types are only applicable to classes, interfaces, and structures. Delegates and enumerations are not supported.
(2) Each part of the same type must have the modifier partial.
(3) When using partial types, the parts of a type must be in the same namespace.
(4) All parts of a type must be compiled at the same time.

3. Points to note about partial types

(1) The keyword partial is a contextual keyword and can only be used with class, struct, and interface Keywords have meaning only when they are put together. Therefore, the introduction of partial will not affect variables named partial in existing code.
(2) The various parts of local types are usually placed in several different .cs files, but the C# compiler allows us to put them in the same file.

4. Application properties of local types

Properties on local types have a "cumulative" effect.


[Attribute1, Attribute2("Hello")]

partial class Class1{}


[Attribute3, Attribute2("Exit")]
partial class Class1{}

is equivalent to



[Attribute1, Attribute2("Hello"), Attribute3, Attribute2("Exit")]

class Class1 {}


Note: The Attribute2 attribute is allowed to be used multiple times on a class.


5. Modifiers on local types

(1) Access modifiers on various parts of a type must maintain consistency.
(2) If a partial class uses the abstract modifier, the entire class will be considered an abstract class.
(3) If a partial class uses the sealed modifier, the entire class will be considered a sealed class.
(4) Parts of a class cannot use contradictory modifiers. For example, you cannot use abstract on one part and sealed on another part.
(5) If a partial class uses the static modifier, the entire class will be considered a static class.

6. Base classes and interfaces of local types


(1) The base class specified on each part of a type must be consistent. A section may not specify a base class, but if specified, it must be the same.
(2) Interfaces on local types have a "cumulative" effect.

partial class Class2: Iinterface1, Iinterface2 {}

partial class Class2: Iinterface3 {}

partial class Class2: Iinterface2 {}

is equivalent to



class Class2: Iinterface1, Iinterface2, Iinterface3 {}

If you want more related articles, please pay attention to the PHP Chinese website (www.php.cn)!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

In-depth analysis of the role and usage of the static keyword in C language In-depth analysis of the role and usage of the static keyword in C language Feb 20, 2024 pm 04:30 PM

In-depth analysis of the role and usage of the static keyword in C language. In C language, static is a very important keyword, which can be used in the definition of functions, variables and data types. Using the static keyword can change the link attributes, scope and life cycle of the object. Let’s analyze the role and usage of the static keyword in C language in detail. Static variables and functions: Variables defined using the static keyword inside a function are called static variables, which have a global life cycle

Is go a keyword in C language? Detailed analysis Is go a keyword in C language? Detailed analysis Mar 16, 2024 am 10:30 AM

Title: Is go a keyword in C language? Detailed analysis In C language, "go" is not a keyword. Keywords in C language are specified by the C standard and are used to represent specific grammatical structures or functions. They have special meanings in the compiler and cannot be used as identifiers or variable names. For example, the keyword "int" represents an integer data type, "if" represents a conditional statement, and so on. If we want to verify whether "go" is a keyword in C language, we can write a simple program to test it. Here is an example: #inc

The role and examples of var keyword in PHP The role and examples of var keyword in PHP Jun 28, 2023 pm 08:58 PM

The role and examples of var keyword in PHP In PHP, the var keyword is used to declare a variable. In previous PHP versions, using the var keyword was the idiomatic way to declare member variables, but its use is no longer recommended. However, in some cases, the var keyword is still used. The var keyword is mainly used to declare a local variable, and the variable will automatically be marked as local scope. This means that the variable is only visible within the current block of code and cannot be accessed in other functions or blocks of code. Use var

Is while a keyword in go language? Is while a keyword in go language? Jun 04, 2021 pm 05:01 PM

In the Go language, while is not a keyword. You can use the for statement plus break to achieve the effect of a while loop, such as "for {sum++ if sum>10{break}else{...}}". The go language has 25 keywords such as break, default, func, select, case, defer, go, map, else, goto, for, if, var, etc.

How many keywords are there in c language? How many keywords are there in c language? Nov 22, 2022 pm 03:39 PM

There are 32 keywords in C language. According to the function of keywords, they can be divided into four categories: data type keywords, control statement keywords, storage type keywords and other keywords. There are 12 data type keywords, including char, double, float, int, etc.; there are 12 control statement keywords, including for, break, if, else, do, etc.; there are 4 storage type keywords, including auto, static , extern, etc.; there are 4 other keywords, including const, sizeof, etc.

Detailed explanation of the role and usage of the require keyword in PHP Detailed explanation of the role and usage of the require keyword in PHP Jun 28, 2023 pm 11:31 PM

Detailed explanation of the role and usage of the require keyword in PHP In PHP development, require is a very commonly used keyword. Its function is to include the specified file for use by the current script. This article will explain in detail the function and use of the require keyword. 1. The role of the require keyword The require keyword can include the contents of a file into the current script. It is usually used to include some necessary external files, such as library files, configuration files, etc. Use req

Complete list of go language keywords Complete list of go language keywords Apr 07, 2024 pm 02:15 PM

The keywords of Go language are: basic keywords: const, func, type, var, if, else, for, return Data type related keywords: bool, string, int, float64, interface{}, map, slice other keywords :break, continue, defer, go, select, range

Detailed explanation of the role and usage of the extends keyword in PHP Detailed explanation of the role and usage of the extends keyword in PHP Jun 28, 2023 pm 08:04 PM

Detailed explanation of the role and usage of the extends keyword in PHP In PHP programming, extends is a very important keyword, which is used to implement class inheritance. Through the extends keyword, we can create a new class that can inherit the properties and methods of one or more existing classes. Inheritance is an important concept in object-oriented programming, which makes code reuse and extension more convenient and flexible. This article will introduce in detail the function and use of the extends keyword. extends

See all articles