The connection to the database must remain valid for the life of the data objects
All tables in a dataset must come from the same database.
A given instance of a DataTable can be in only one DataSet
Changes made to multiple tables within a DataSet can easily be extracted to a new DataSet which contains only the changes
Content from multiple DataSets can easily be combined into a single DataSet that contains the net result of all changes.
Enums are always equated to an integral constant value
A variable of the enum type will always contain one of the declared symbolic constants
The declared values of an enum are always assigned sequential starting with 0
The declared values of an enum must be mapped (explicitly or implicitly) to unique integral values
It is impossible to add a reference to both assemblies to any given assembly
A new root can be added to the assemblies namespace hierarchy by the use of an extern alias
The specific colliding name may be altered by using an extern alias
The collision may be avoided by using a statement to provide an alias
Useful resources, extern alias
Static constructors are called before the main program is executed
Static constructors are called before the first instance of a class is created
Static constructors are called before any static (non-constructor) members are called
Static constructors can take parameters
Useful resources, Static Constructors
A single assembly may contain multiple namespaces
The same namespace may be used in multiple assemblies
Namespaces may be aliased to provide a shorthand notation for a fully qualified identifier
All of the above
A delegate requires an instance method be supplied.
A delegate instance may encapsulate only one method
Delegates are not typesafe
A delegate instance does not know or care about the class type of the encapsulated method
Useful resources, delegate
They must have the same name
They must have the same parameter signature
They must have the same access level
None of the above
Useful resources, method overloading
ObjRef stores all relevant information required to generate a proxy in order to communicate with a remote object.Useful resources, ObjRef Class
Anonymous methods have access to the local state of the containing function member.
An anonymous method requires an explicit method signature
An anonymous method can impact the lifetime of local variables and parameters of the containing function
A struct may not declare an anonymous method which directly references member fields
Useful resources, Anonymous Methods
Call the Type.MakeGenericType() method on an instance of System.Type which represents the Generic, specifying the types of the generic parameters.
Call the static Type.MakeGenericType(...) method specifying both the base type and the types of the generic parameters.
Call the GetType() method on an instance of the specialization
Call the Type.GetGenericTypeDefinition() method
Useful resources, Examine and Instantiate Generic Types with Reflection