ch 12 adjustments from manuscript
RENAME
src/Chapter12/Listing12.01.TheMethodSignatures.cs
src/Chapter12/Listing12.01.TheSystemCollectionsStackMethodSignatures.cs
RENAME
src/Chapter12/Listing12.04.DefiningNullableVersionsOfValueTypes.cs
src/Chapter12/Listing12.04.DeclaringVersionsOfVariousValueTypesThatStoreNull.cs
RENAME
src/Chapter12/Listing12.05.NullableTypeContainingAnObject.cs
src/Chapter12/Listing12.05.DeclaringANullableTypeThatContainsAValuePropertyOfTypeObject.cs
RENAME
src/Chapter12/Listing12.17.UsingATupleCreateFactoryMethods.cs
src/Chapter12/Listing12.17.ComparingSystemValueTupleInstantiationApproaches.cs
RENAME
src/Chapter12/Listing12.24.UsingDelegateConstraint.cs
src/Chapter12/Listing12.24.DeclaringAGenericWithAMulticastDelegateConstraint.cs
RENAME
src/Chapter12/Listing12.28.InheritedConstraintsSpecifiedExplicitly.cs
src/Chapter12/Listing12.34B.InheritedConstraintsSpecifiedExplicitly.cs
@@ -8,10 +8,10 @@ namespace AddisonWesley.Michaelis.EssentialCSharp.Chapter12.Listing12_27
}
// ERROR:
- // The type 'T' must be convertible to 'System.IComparable<T>'
+ // The type 'U' must be convertible to 'System.IComparable<U>'
// to use it as parameter 'T' in the generic type or
// method
- // class Entity<T> : EntityBase<T>
+ // class Entity<U> : EntityBase<U>
// {
// ...
// }

ADD
src/Chapter12/Listing12.34C.RepeatingInheritedOnVirtualMembersIsProhibited.cs
+namespace AddisonWesley.Michaelis.EssentialCSharp.Chapter12.Listing12_27
+{
+ using System;
+
+ class EntityBase
+ {
+ public virtual void Method<T>(T t)
+ where T : IComparable<T>
+ {
+ // ...
+ }
+ }
+ class Order : EntityBase
+ {
+ public override void Method<T>(T t)
+ // Constraints may not be repeated on overriding
+ // members
+ // where T : IComparable<T>
+ {
+ // ...
+ }
+ }
+
+}

RENAME
src/Chapter12/Listing12.30.ConstraintExpressionsCannotRequireOperators.cs
src/Chapter12/Listing12.34D.ConstraintExpressionsCannotRequireOperators.cs
RENAME
src/Chapter12/Listing12.31.CombiningConstraintsUsingOrRelationshipNotAllowed.cs
src/Chapter12/Listing12.34E.CombiningConstraintsUsingOrRelationshipNotAllowed.cs
MODIFY
src/Chapter12/Listing12.42.PotentiallyPossibleCovariance.cs
src/Chapter12/Listing12.42.PotentiallyPossibleCovariance.cs
@@ -50,7 +50,7 @@ namespace AddisonWesley.Michaelis.EssentialCSharp.Chapter12.Listing12_42
// the out type parameter modifier
//Pair<Contact> contacts =
// new Pair<Contact>(
- // new Contact("Princess Buttercupt"),
+ // new Contact("Princess Buttercup"),
// new Contact("Inigo Montoya"));
//IReadOnlyPair<PdaItem> pair = contacts;
//PdaItem pdaItem1 = pair.First;

RENAME
src/Chapter12/Listing12.49.StackDefinition.cs
src/Chapter12/Listing12.49.StackIntDefinition.cs
RENAME
src/Chapter12/Listing12.05.DeclaringADelegateType.cs
src/Chapter12/zListing12.05.DeclaringADelegateType.cs
RENAME
src/Chapter12/Listing12.10.SystemDelegateCannotBeBaseClass.cs
src/Chapter12/zListing12.10.SystemDelegateCannotBeBaseClass.cs
RENAME
src/Chapter12/Listing12.29.InheritedConstraintsSpecifiedExplicitly.cs
src/Chapter12/zListing12.29.InheritedConstraintsSpecifiedExplicitly.cs
RENAME
src/Chapter12/Listing12.44A.CombiningCovarianceAndContravarianceInSingleGenericType.cs
src/Chapter12/zListing12.44A.CombiningCovarianceAndContravarianceInSingleGenericType.cs
ch 12 adjustments from manuscript