Prior to this commit, if you create a TraceParameterProvider that maps
properties for a base class, then create an Interface for an EventSource
that has a method with a parameter that is a subclass of that base
class, an exception would be thrown.
This is because ParameterBuilder.Matches would allow for a subclass
to match, but the ParameterDefinition constructor would not.
This update changes the ParameterDefinition constructor to allow
subclasses to match a base class.
Prior to this commit, if you create a TraceParameterProvider that maps properties for a base class, then create an Interface for an EventSource that has a method with a parameter that is a subclass of that base class, an exception would be thrown.
This is because ParameterBuilder.Matches would allow for a subclass
to match, but the ParameterDefinition constructor would not.
This update changes the ParameterDefinition constructor to allow subclasses to match a base class.
A test is included to demonstrate the problem.