Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,591
Записей в блоге: 1

Класс может быть унаследован только из другого класса

31.07.2017, 17:11. Показов 1266. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго. Ругается на унаследование
Code
1
IModelBinder
.
VB.NET
1
2
3
4
5
6
Imports System.Web.Mvc
'
Public Class CartModelBinder
    Inherits IModelBinder
........
End Class
Ничего внятного на MSDN не нашел. Почему не работает такое наследование именно
Code
1
IModelBinder
?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.07.2017, 17:11
Ответы с готовыми решениями:

Какой из следующих классов не может быть унаследован
A) class А { } B) class А { private А();} C) sealed class А { } D) class А { protected А();}

Можно ли создать класс, который виден только для другого класса?
Здравствуйте. есть 3 класса namespace MyExp { class MyTree { //... }

Только константное статическое поле НЕ МОЖЕТ быть поле членом класса !
class CCoords { static const float rate = 1.0f; // ОШИБКА !!! bool IsComputed; float x,y; POINT2D ...

10
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18277 / 14200 / 5368
Регистрация: 17.03.2014
Сообщений: 28,881
Записей в блоге: 1
31.07.2017, 17:16
XIST, интерфейсы реализуются, а не наследуются.
VB.NET
1
2
Public Class CartModelBinder
    Implements IModelBinder
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,591
Записей в блоге: 1
31.07.2017, 17:21  [ТС]
OwenGlendower, да, это я прочитал. Но увидел в шарпе
C#
1
 public class CartModelBinder : IModelBinder
это не наследование разве?
А при реализации такая ошибка
Code
1
Class 'CartModelBinder' must implement 'Function BindModel(controllerContext As ControllerContext, bindingContext As ModelBindingContext)
процедура
VB.NET
1
 Public Function BindModel(controllerContext As ControllerContext, bindingContext As ModelBindingContext) As Object
реализована в классе
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18277 / 14200 / 5368
Регистрация: 17.03.2014
Сообщений: 28,881
Записей в блоге: 1
31.07.2017, 17:24
Цитата Сообщение от XIST Посмотреть сообщение
это не наследование разве?
Нет

Цитата Сообщение от XIST Посмотреть сообщение
А при реализации такая ошибка
Когда тип говорит что реализует интерфейс это означает что он должен реализовать все члены этого интерфейса. Мне не верится что это нужно объяснять человеку который не первый год пишет на .NET.
0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,591
Записей в блоге: 1
31.07.2017, 17:47  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
Когда тип говорит что реализует интерфейс это означает что он должен реализовать все члены этого интерфейса. Мне не верится что это нужно объяснять человеку который не первый год пишет на .NET.
а я верю. Т.к. копия рабочего кода с шарпа

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Public Class CartModelBinder
    Implements IModelBinder
 
Public Function BindModel(controllerContext As ControllerContext, bindingContext As ModelBindingContext) As Object
        ' Получить объект Cart из сеанса
        Dim cart As Cart = Nothing
        If controllerContext.HttpContext.Session IsNot Nothing Then
            cart = DirectCast(controllerContext.HttpContext.Session(sessionKey), Cart)
        End If
 
        ' Создать объект Cart если он не обнаружен в сеансе
        If cart Is Nothing Then
            cart = New Cart()
            If controllerContext.HttpContext.Session IsNot Nothing Then
                controllerContext.HttpContext.Session(sessionKey) = cart
            End If
        End If
 
        ' Возвратить объект Cart
        Return cart
    End Function
End class
Тут все просто да не могу, ну наследования я сам всунул, а так всё одинаково. Толи я у же всё
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18277 / 14200 / 5368
Регистрация: 17.03.2014
Сообщений: 28,881
Записей в блоге: 1
31.07.2017, 17:52
Лучший ответ Сообщение было отмечено XIST как решение

Решение

Цитата Сообщение от XIST Посмотреть сообщение
процедура BindModel ... реализована в классе
В объявлении функции не хватает Implements IModelBinder.BindModel. Нужно в самом конце это дописать.
1
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
31.07.2017, 18:12
Цитата Сообщение от XIST Посмотреть сообщение
Т.к. копия рабочего кода с шарпа
Ты пал жертвой конвертера.
C#
1
public class CartModelBinder : IModelBinder
Здесь если после двоеточия стоит интерфейс, то это значит «реализует», а если класс, то — «наследует»
В бейсике это два разных слова Implements и Inherits
Ну и как сказал OwenGlendower для каждого метода нужно явно указать, что он реализует конкретный метод интерфейса. В шарме это не нужно
1
31.07.2017, 18:41

Не по теме:

Цитата Сообщение от XIST Посмотреть сообщение
а я верю. Т.к. копия рабочего кода с шарпа
На всякий случай - я это писал до того как ты отредактировал сообщение и добавил что метод реализован.

0
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,591
Записей в блоге: 1
31.07.2017, 19:14  [ТС]
Цитата Сообщение от ViterAlex Посмотреть сообщение
Ты пал жертвой конвертера
да как раз-таки в руки перевел, я всегда думал что это наследование. Ну умнее шарп чуток, согласен) OwenGlendower,
да, спасибо, видел я что ты написал, я совсем не понял видимо про что ты и забыл про то что ты указал. спс

Добавлено через 6 минут
ViterAlex, а Telerik Implements и переводит)
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
31.07.2017, 19:15
Цитата Сообщение от XIST Посмотреть сообщение
а Telerik Inherits и переводит
А для интерфейса должно быть Implements
1
 Аватар для XIST
1960 / 1070 / 148
Регистрация: 01.10.2009
Сообщений: 3,591
Записей в блоге: 1
31.07.2017, 19:21  [ТС]
ViterAlex,

Не по теме:

описка

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.07.2017, 19:21
Помогаю со студенческими работами здесь

"В поле может быть введено только одно слово, пробелы могут быть или не быть с начала слова и в конце"
Добрый вечер уважаемые форумчане. Подскажите как написать выражение со след условием: -в поле может быть введено только одно слово,...

Для чего ещё может быть нужен конструктор класса кроме присвоения полям класса начальных значений?
Для чего ещё может быть нужен конструктор класса кроме присвоения полям класса начальных значений?

Может ли быть одинаковые теги, один внутри другого?
Скажем <p>...<p> </p>... </p>

Разрешить доступ к методу класса только для другого класса
Здравствуйте, нужно что бы у Item ссылка на Box была только для чтения, но при добавлении Item в Box у Box была возможность присвоить Item...

Как в случае с Dependency Injection внедрять отдельный экземпляр некоторого класса только лишь для одного другого класса
Здравствуйте, пытаюсь понять как же всё таки правильно использовать Dependency Injection в случае c ASP.NET Web Api2 и Entity Framework 6...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru