none
Функция для классов реализующих интерфейс RRS feed

  • Вопрос

  • Здравствуйте. В общем есть несколько классов, реализующих интерфейс IEntity. Есть также отдельный класс и функция в нём:
     Public Shared Function BinaryDeserialize(path As String) As ObservableCollection(Of Person)
            Dim instance As ObservableCollection(Of Person)
            ' Подготовка потоков
            Using fileStream = New IsolatedStorageFileStream(path, FileMode.OpenOrCreate)
                ' Десериализуем объект
                Dim binaryFormatter = New BinaryFormatter()
                Try
                    instance = CType(binaryFormatter.Deserialize(fileStream), ObservableCollection(Of Person))
                Catch ex As Exception
                    ' Возникла ошибка при десериализации
                    Debug.WriteLine(ex)
                End Try
            End Using
            Return instance
        End Function
    На данный момент функция может возвращать только коллекцию класса Person. Но мне же нужно, чтобы функция могла возвращает любой класс, реализующий интерфейс IEntity. Короче говоря мне нужна универсальная функция для классов, ккоторые реализуют интерфейс IEntity. Надеюсь мысль понятна.
    31 июля 2015 г. 7:44

Все ответы

  • Добрый день.

    Похоже вам нужны Generic типы. Объявляете свой интерфейс от T. Везде указываете в качестве T вашу персону или что там еще есть...

    31 июля 2015 г. 11:56
    Отвечающий