public: Unrestricted access.
protected: Access is limited to the containing class or types derived from the containing class. Only the class containing the member and inherited classes can access it.
Internal: Access is limited to the current assembly. Only the current project can access it.
protected internal: Access is limited to the current assembly or types derived from the containing class.
private: Access is limited to the containing type. Only the class containing the member can access it.
Class modifier:
abstract: Can be instructed that a class can only serve as a base class for other classes.
sealed: Indicates that a class cannot be inherited.
Member modifiers:
abstract: Indicates that the method or property is not implemented.
const: The value of the specified domain or local variable cannot be changed.
event: declare an event.
extern: Indicates that the method is implemented externally.
override: A new implementation of members inherited from the base class.
readonly: Indicates that a field can only be assigned at the time of declaration and within the same class.
static: Indicates that a member belongs to the type itself, rather than to a specific object.
virtual: Indicates that the implementation of a method or accessor can be overridden in inherited classes.
-