Я интерфейс, определенный в C#
проекта:реализация интерфейса в C# и VB.NET
public interface IForm
{
bool IsDisposed { get; }
void Show();
}
я реализовал его в C#
класса в WinForms
public partial class Form1 : Form, IForm { }
Как метод Show()
и имущества IsDisposed
уже присутствуют в классе System.Windows.Forms.Form
, я не требую его реализации.
Но это не верно в VB.NET
, в VB.NET
Мне нужно определить элементы, в противном случае получить ошибку компиляции.
Public Class Form1
Implements WindowsFormsApplication1.IForm
Public ReadOnly Property IsDisposed1 As Boolean Implements WindowsFormsApplication1.IForm.IsDisposed
Get
End Get
End Property
Public Sub Show1() Implements WindowsFormsApplication1.IForm.Show
End Sub
End Class
Почему я должен определять члены интерфейса в VB.NET, если они уже присутствуют в базовом классе?
Я не вижу, где ваш класс VB.NET наследует от 'System.Windows.Form'. – Oded
Два языка имеют разные правила. Это неудивительно. Если бы они были одинаковыми во всех отношениях, они не были бы * двумя языками. –
@Oded: Я предполагаю, что он создал форму с дизайнером (или, возможно, это было там, когда вы создаете новое приложение vb), что означает, что оператор 'Inherits Form' находится в' Form1.Designer.vb 'файл. – Pondidum