mysite.com
это доменное имя. Я не знаю, как вам удалось перенаправить это имя на локальный компьютер (для этого проще всего отредактировать файл hosts
), но вы должны сообщить всем остальным компьютерам о используемой вами паре имя-ip. , И вам нужно связать имя с адресом, который виден другим (localhost
не будет делать это). Если у вас есть машина, которая является частью корпоративной инфраструктуры, возможно, у вас уже есть каноническое имя для вашего ПК, например pc00144.yourcompany.com
. Если на вашем компьютере нет брандмауэра или порт, который вы используете для обслуживания веб-контента, открыт, то все, кто может пинговать ваш компьютер, должны иметь возможность подключиться к вашему сайту. Если это единственный сайт в вашей сети и он не настроен на использование виртуальных хостов, то он также должен быть подключен по IP.
Можно реализовать один из них или обоих интерфейсов с 'явной интерфейсной' реализацией, таким образом, компилятор знает, какое свойство ErrorMsg принадлежит который интерфейс.
Чтобы сделать это просто пишет: ISimpleInterface (для C#) после Вашего имени класса и затем нажимают на ISimpleInterface и выбирают реализацию явный интерфейс.
Больше информации здесь: http://msdn.microsoft.com/en-us/library/aa288461 (По сравнению с 71) .aspx
Извините, но я не осваиваю синтаксис VB.Net.
В C# можно реализовать интерфейсы неявно или явно. Если Ваш класс, Foo реализует ErrorMsg как открытый метод, эта реализация, будет использоваться для обоих интерфейсов.
Если Вы хотите отличную реализацию, можно реализовать ее явно:
string ISimpleInterface.ErrorMsg {get { ... } }
string IExtendedInterface.ErrorMsg {get { ... } set { ... }}
В C#, неявная реализация (с set
) может удовлетворить оба из них:
class Foo : ISimpleInterface, IExtendedInterface
{
public string ErrorMsg { get; set; }
public string SomeOtherProperty {get; set;}
}
Если Вы хотите изменить его, можно ли использовать явную реализацию ("Реализации" в VB?) - в C#:
string ISimpleInterface.ErrorMsg
{
get { return ErrorMsg; } // or something more interesting
}
В C# можно использовать явную интерфейсную реализацию:
class Foo
{
string ISimpleInterface.ErrorMsg
{ get... }
string IExtendedInterface.ErrorMsg
{ get... set... }
string IExtendedInterface.SomeOtherProperty
{ get... set... }
}
или интерфейсное отображение
class Foo
{
public string ErrorMsg
{ get... set... }
public string SomeOtherProperty
{ get... set... }
}
Что касается VB.NET, это имеет Implements
ключевое слово:
Property ErrorMsg As String Implements ISimpleInterface.ErrorMsg
Property OtherErrorMsg As String Implements IExtendedInterface.ErrorMsg
Ключевое слово Реализаций в VB.NET делает это легким:
Public Interface ISimpleInterface
ReadOnly Property ErrorMsg() As String
End Interface
Friend Interface IExtendedInterface
Property ErrorMsg() As String
Property SomeOtherProperty() As String
End Interface
Public Class Foo
Implements ISimpleInterface, IExtendedInterface
Private other As String
Private msg As String
Public Property ErrorMsgEx() As String Implements IExtendedInterface.ErrorMsg
Get
Return msg
End Get
Set(ByVal value As String)
msg = value
End Set
End Property
Public Property SomeOtherPropertyEx() As String Implements IExtendedInterface.SomeOtherProperty
Get
Return other
End Get
Set(ByVal value As String)
other = value
End Set
End Property
Public ReadOnly Property ErrorMsg() As String Implements ISimpleInterface.ErrorMsg
Get
Return msg
End Get
End Property
End Class
Необходимо будет работать с Явными Интерфейсными Реализациями. Больше на предмете здесь: http://msdn.microsoft.com/en-us/library/aa288461 (По сравнению с 71) .aspx
В то время как явная реализация решит это, как показано другими, в этом самом случае я, вероятно, позволил бы IExtendedInterface реализовать ISimpleInterface (свойство ErrorMsg является семантически тем же свойством, это означает то же в этих 2 интерфейсах, которые я предположил бы).
interface ISimpleInterface
{
string ErrorMessage { get; set; }
}
interface IExtendedInterface : ISimpleInterface
{
string SomeOtherProperty { get; set; }
}
У Вас могут быть частные интерфейсы реализации подпрограмм. Это только выставляется, когда объект присвоен переменной того интерфейсного типа.
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim S As ISimpleInterface
Dim Ext As IExtendedInterface
Dim F As New Foo
F.ErrorMsg = "Test Error"
S = F
Ext = F
MsgBox(S.ErrorMsg)
MsgBox(Ext.ErrorMsg)
MsgBox(F.ErrorMsg)
End Sub
End Class
Public Interface ISimpleInterface
ReadOnly Property ErrorMsg() As String
End Interface
Public Interface IExtendedInterface
Property ErrorMsg() As String
Property SomeOtherProperty() As String
End Interface
Public Class Foo
Implements ISimpleInterface, IExtendedInterface
Private other As String
Private msg As String
Public Property ErrorMsg() As String Implements IExtendedInterface.ErrorMsg
Get
Return msg
End Get
Set(ByVal value As String)
msg = value
End Set
End Property
Public Property SomeOtherProperty() As String Implements IExtendedInterface.SomeOtherProperty
Get
Return other
End Get
Set(ByVal value As String)
other = value
End Set
End Property
Private ReadOnly Property ErrorMsgSimple() As String Implements ISimpleInterface.ErrorMsg
Get
Return ErrorMsg
End Get
End Property
End Class