Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1496 / 1044 / 146
Регистрация: 01.10.2009
Сообщений: 3,510
Записей в блоге: 1
1

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

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

Author24 — интернет-сервис помощи студентам
Доброго. Ругается на унаследование
Код
IModelBinder
.
VB.NET
1
2
3
4
5
6
Imports System.Web.Mvc
'
Public Class CartModelBinder
    Inherits IModelBinder
........
End Class
Ничего внятного на MSDN не нашел. Почему не работает такое наследование именно
Код
IModelBinder
?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
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; ...

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

10
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
31.07.2017, 17:16 2
XIST, интерфейсы реализуются, а не наследуются.
VB.NET
1
2
Public Class CartModelBinder
    Implements IModelBinder
0
1496 / 1044 / 146
Регистрация: 01.10.2009
Сообщений: 3,510
Записей в блоге: 1
31.07.2017, 17:21  [ТС] 3
OwenGlendower, да, это я прочитал. Но увидел в шарпе
C#
1
 public class CartModelBinder : IModelBinder
это не наследование разве?
А при реализации такая ошибка
Код
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
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
31.07.2017, 17:24 4
Цитата Сообщение от XIST Посмотреть сообщение
это не наследование разве?
Нет

Цитата Сообщение от XIST Посмотреть сообщение
А при реализации такая ошибка
Когда тип говорит что реализует интерфейс это означает что он должен реализовать все члены этого интерфейса. Мне не верится что это нужно объяснять человеку который не первый год пишет на .NET.
0
1496 / 1044 / 146
Регистрация: 01.10.2009
Сообщений: 3,510
Записей в блоге: 1
31.07.2017, 17:47  [ТС] 5
Цитата Сообщение от 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
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
31.07.2017, 17:52 6
Лучший ответ Сообщение было отмечено XIST как решение

Решение

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

Не по теме:

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

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

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

Не по теме:

описка

0
31.07.2017, 19:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.07.2017, 19:21
Помогаю со студенческими работами здесь

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

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

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

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

Может ли экземпляр класса быть полем
Все, доброго времени суток. Game game = new Game() - является полем класса. Но при загрузке...

Сколько свойств может быть у класса
У меня получается класс из более 20 свойств и без методов. Нужно ли обязательно его разбивать на...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru