Jeroen Vannevel
Jeroen Vannevel
> DO implement the Basic Dispose Pattern on every finalizable type. https://msdn.microsoft.com/en-us/library/b1yfkh5e(v=vs.110).aspx
> DO NOT declare any overloads of the Dispose method other than Dispose() and Dispose(bool) https://msdn.microsoft.com/en-us/library/b1yfkh5e(v=vs.110).aspx
> DO implement the `IDisposable`interface by simply calling `Dispose(true)`followed by `GC.SuppressFinalize(this)`. > DO NOT make the parameterless `Dispose`method `virtual`. https://msdn.microsoft.com/en-us/library/b1yfkh5e(v=vs.110).aspx
This should be a context action and seems pretty interesting to have: https://msdn.microsoft.com/en-us/library/b1yfkh5e(v=vs.110).aspx#basic_pattern
> DO overload the equality operators on value types, if equality is meaningful https://msdn.microsoft.com/en-us/library/7h9bszxx(v=vs.110).aspx
> DO implement the ISerializable members explicitly. https://msdn.microsoft.com/en-us/library/dn169405(v=vs.110).aspx
> DO make the serialization constructor protected and provide two parameters typed and named exactly as shown in the sample here. ``` csharp [Serializable] public class Person : ISerializable {...
> DO implement a getter and setter on all properties that have DataMemberAttribute. Data Contract serializers require both the getter and the setter for the type to be considered serializable....
- [ ] Implement AttributeClassWithoutAttributeSuffix #459 - [ ] Implement AttributeClassWithoutAttributeUsageAttribute #460 - [ ] Implement AttributeClassWithProperOptionalAndRequiredMemberLayout #461
> DO provide settable properties for optional arguments. > DO provide get-only properties for required arguments. > DO provide constructor parameters to initialize properties corresponding to required arguments. Each parameter...