Reporter | Colin (colin.dickerson) |
---|---|
Created | Apr 10, 2018 4:39:45 PM |
Updated | Apr 23, 2018 5:50:50 PM |
Resolved | Apr 23, 2018 5:50:50 PM |
Subsystem | Code Analysis - VB.NET |
Assignee | Ivan Serduk (IvanSerduk) |
Priority | Show-stopper |
State | Fixed |
Type | Bug |
Fix version | 2018.1.1 |
Affected versions | 2018.1 |
Fixed In Version ReSharper | Undefined |
VsVersion | VS 2017 15.3 |
I have the following situation:
A C# library with a base interface (IView) which exposes methods/properties of a Windows Form, and a base Windows Form View (BaseView) that implements IView. In the C# library the interface automatically resolves to use the Form methods, so nothing is explicitly implemented:
public interface IView
{
void SuspendLayout();
void ResumeLayout();
}
public class BaseView : Form, IView
{
public BaseView()
{
InitializeComponent()
}
}
This library is referenced in a VB.NET Windows Form application. Which itself contains a interface that inherits from IView and a Form that inherits the BaseView Form and implements the new interface:
Public Interface IMainView
Inherits IView
Sub ShowHelloWorldMessage()
End Interface
Public Class MainView
Inherits BaseView
Implements IMainView
Public Sub ShowHelloWorldMessage()
MessageBox.Show("Hello World")
End Sub
End Class
With ReSharper enabled I get a error message stating "Missing implementation of members: Sub ResumeLayout(), Sub SuspendLayout()", even though these are implemented by the BaseView Form. Running a compile on the solution compiles successfully, and no errors are shown in the Error List window.
If I suspend ReSharper then this error goes away and the application also compiles just fine. Running the application and accessing these methods work as expected.