Hello,
When decompiling an assembly to IL using ILDasm, internal abstract or virtual methods typically have the "strict" attribute. However, Reflector does not show this attribute. As an example, you can look at System.Windows.Input.MouseDevice.GetButtonStateFromSystem() in PresentationCore.dll. The C# signature is:
internal abstract MouseButtonState GetButtonStateFromSystem(MouseButton mouseButton);
Reflector shows the following IL signature:
.method assembly hidebysig newslot abstract virtual instance valuetype System.Windows.Input.MouseButtonState GetButtonStateFromSystem(valuetype System.Windows.Input.MouseButton mouseButton) cil managed
ILDasm shows the following IL signature:
.method assembly hidebysig newslot abstract strict virtual instance valuetype System.Windows.Input.MouseButtonState GetButtonStateFromSystem(valuetype System.Windows.Input.MouseButton mouseButton) cil managed
Note the "strict" attribute in the ILDasm version after the "abstract" keyword.
Thanks,
Brandon
When decompiling an assembly to IL using ILDasm, internal abstract or virtual methods typically have the "strict" attribute. However, Reflector does not show this attribute. As an example, you can look at System.Windows.Input.MouseDevice.GetButtonStateFromSystem() in PresentationCore.dll. The C# signature is:
Reflector shows the following IL signature:
ILDasm shows the following IL signature:
Note the "strict" attribute in the ILDasm version after the "abstract" keyword.
Thanks,
Brandon