Allow field layout to be determined for more types #267
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Use the
FormatterServices.GetUninitializedObject()
method to get an instance of a specified type without having to invoke one of the ctors for the type; this allows the field layout to be determined for a wider set of types, e.g., types whose ctors check-then-throw for null arguments. An additional benefit of this change is that because the ctors for those types are no longer run, they no longer raise exceptions which cause the VS debugger to break (pause execution).I built/ran the full test suite after making the change, and all of the tests passed except for one (an ISO8601-related test for
TimeSpan
) which doesn't seem related.