在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
https://msdn.microsoft.com/en-us/library/bcd5672a.aspx The protected keyword is a member access modifier. A protected member is accessible within its class and by derived class instances. For a comparison of protected with the other access modifiers, see Accessibility Levels.
Example A protected member of a base class is accessible in a derived class only if the access occurs through the derived class type. For example, consider the following code segment: class A { protected int x = 123; } class B : A { static void Main() { A a = new A(); B b = new B(); // Error CS1540, because x can only be accessed by // classes derived from A. // a.x = 10; // OK, because this class derives from A. b.x = 10; } } The statement a.x = 10 generates an error because it is made within the static method Main, and not an instance of class B. Struct members cannot be protected because the struct cannot be inherited.
Example In this example, the class DerivedPoint is derived from Point. Therefore, you can access the protected members of the base class directly from the derived class. class Point { protected int x; protected int y; } class DerivedPoint: Point { static void Main() { DerivedPoint dpoint = new DerivedPoint(); // Direct access to protected members: dpoint.x = 10; dpoint.y = 15; Console.WriteLine("x = {0}, y = {1}", dpoint.x, dpoint.y); } } // Output: x = 10, y = 15 If you change the access levels of x and y to private, the compiler will issue the error messages: 'Point.y' is inaccessible due to its protection level. 'Point.x' is inaccessible due to its protection level.
C# Language SpecificationFor more information, see the C# Language Specification. The language specification is the definitive source for C# syntax and usage.
See AlsoC# Reference
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论