Chapter 7 - Implementing Interfaces and Inheriting Classes
What is a delegate?
A delegate is a type-safe method reference. It can be used to execute any method with a matching signature.
What is an event?
An event is a field that is a delegate having the
event
keyword applied. The keyword ensures that only+=
and-=
are used; this safely combines multiple delegates without replacing any existing event handlers.
How is a base class and a derived class related?
A derived class (or subclass) is a class that inherits from a base class (or superclass).
What is the difference between the
is
andas
operators?The
is
operator returnstrue
if an object can be cast to the type. Theas
operator returns a reference if an object can be cast to the type; otherwise, it returnsnull
.
Which keyword is used to prevent a class from being derived from, or a method from being overridden?
sealed
Find more information on the
sealed
keyword at https://msdn.microsoft.com/en-us/library/88c54tsw.aspx
Which keyword is used to prevent a class from being instantiated with the
new
keyword?abstract
Find more information on the
abstract
keyword at https://msdn.microsoft.com/en-us/library/sf985hc5.aspx
Which keyword is used to allow a member to be overridden?
virtual
Find more information on the
virtual
keyword at https://msdn.microsoft.com/en-us/library/9fkccyh4.aspx
What's the difference between a destructor and a deconstructor?
A destructor, also known as a finalizer, must be used to release resources owned by the object. A deconstructor is a new feature of C# 7 that allows a complex object to be broken down into smaller parts.
What are the signatures of the constructors that all exceptions should have?
The following are the signatures of the constructors that all exceptions should have:
A constructor with no parameters
A constructor with a
string
parameter usually namedmessage
A constructor with a
string
parameter, usually namedmessage
, and anException
parameter usually namedinnerException
What is an extension method and how do you define one?
An extension method is a compiler trick that makes a static method of a static class appear to be one of the members of a type. You define which type you want to extend by prefixing the type with
this
.