Наследование интерфейса в VB.Net и С#
От: Аноним  
Дата: 12.09.06 15:21
Оценка:
Подскажите, как можно разрешить следующую ситуацию?

Есть код (С#)


using System;

namespace SampleNamespace
{
    /// <summary>
    /// Summary description for Sample.
    /// </summary>
    public class Sample : ISample
        {
        public Sample()
        {
            //
            // TODO: Add constructor logic here
            //
        }
        public event SampleHandler SampleEvent;

        private void SomeSubroutine(int index)
        {
            System.Delegate[] invklist = SampleEvent.GetInvocationList();
                //.....
            //.....
        }
    }

    public delegate void SampleHandler(object sender, System.EventArgs e);

    public interface ISample
    {
                 event SampleHandler SampleEvent;
        }
}


При наследовании интерфейса ISample классом Sample событие SampleEvent имеет тип SampleHandler, что и надо для последующей обработки.


А вот, то же, но на VB.Net:


Imports System

Namespace SampleNamespace

    Public Delegate Sub SampleHandler(ByVal sender As Object, ByVal e As System.EventArgs)

    Public Interface ISample

        Event SampleEvent As SampleHandler

    End Interface

    Public Class Sample
        Implements ISample

        Public Event SampleEvent(ByVal sender As Object, ByVal e As System.EventArgs) Implements ISample.SampleEvent

    End Class

End Namespace


Т.е при наследовании интерфейса ISample классом Sample IntellySense автоматически создает реализацию события SampleEvent тип которого уже не делегат SampleHandler.

Возможно я не так преобразовал код в VB.Net.
Что можно предпринять?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.