Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
6 / 6 / 3
Регистрация: 20.04.2013
Сообщений: 77

Преобразования и ссылочная целостность

03.06.2014, 22:22. Показов 867. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте уважаемые форумчане! Помогите решить такую проблему...
Вот фрагмент кода:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ANALIZE
{
    interface I {
        string Test { get; set; }
    }
 
    class A : I {
        public string Test { get; set; }
        private double t = 23.0;
        public double x {
            get { return t; }
            set { t = value; }
        }
    }
 
    class B : I {
        public string Test { get; set; }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            I b = new B();
            b.Test = "TEST!!!!";
            A a = (A)b;
            Console.WriteLine("{0}, {1}", a.Test, a.x);
            Console.ReadLine();
        }
    }
}
В итоге получается такая ошибка "Не удалось привести тип объекта "ANALIZE.B" к типу "ANALIZE.A"." А мне нужно преобразовать и сохранить ссылочную целостность.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.06.2014, 22:22
Ответы с готовыми решениями:

EF ссылочная целостность
Код создания объектов для сохранения в бд: var book = new Books { Title = TitleLine.Text, ...

Ссылочная целостность
В общем я новичок в 1С и надеюсь на ваше понимание. Платформа v8.1. Есть некоторая конфигурация из 2-х справочников Справочник1 и...

Ссылочная целостность
Добрый день! Ребят, подскажите, пожалуйста. Когда в Erwin прописывал правила ссылочной целостности, то использовал инструкцию RESTRICT. ...

8
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
03.06.2014, 22:36
А почему не использовать абстрактный базовый класс вместо интерфейса?
1
6 / 6 / 3
Регистрация: 20.04.2013
Сообщений: 77
03.06.2014, 22:42  [ТС]
insite2012, а в чем отличия?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
03.06.2014, 22:47
Цитата Сообщение от _shtaket Посмотреть сообщение
в чем отличия?
Различия есть, но небольшие. Однако по вашему коду сразу ясно, что приведение не получится, у вас экземпляр интерфейса "является" В, а вы пытаетесь привести его к типу А. И естественно, это не получается...
1
6 / 6 / 3
Регистрация: 20.04.2013
Сообщений: 77
03.06.2014, 22:49  [ТС]
insite2012, в таком плане никак сделать нельзя?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
03.06.2014, 22:52
_shtaket, я не совсем понял что требуется... Как правило, в такой ситуации ставится проверка (через is/as), и по результатам объект приводится к нужному типу. Естественно, как вы сами понимаете, если изначально объект является В, как вы из него сделаете А...
Как вариант - в самих классах определить методы преобразования (implicit/explicit).
1
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
03.06.2014, 23:29
Цитата Сообщение от _shtaket Посмотреть сообщение
В итоге получается такая ошибка "Не удалось привести тип объекта "ANALIZE.B" к типу "ANALIZE.A"." А мне нужно преобразовать и сохранить ссылочную целостность.
у вас есть объект собака(А), и объект кошка(В), оба объекта реализуют интерфейс "чухаться"(I) .. как вы хотите тут привести кошку к собаке?

напишите что нужно.
2
101 / 101 / 15
Регистрация: 23.05.2012
Сообщений: 260
04.06.2014, 07:24
Так конечно нельзя
можно привести только к интерфейсу тогда text будет, но Х - это свойство сугубо А

Про целостность если я правильно понял - то С# так не работает
заполни DataSet из него запросами собирай класс/объект для работы и наоборот
Тогда и каскадное обновление сработает

Как-то так
1
04.06.2014, 13:13

Не по теме:

Цитата Сообщение от _shtaket Посмотреть сообщение
namespace ANALIZE
Все-таки ANALYZE, а то через i слово приобретает немного иной смысл :D

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2014, 13:13
Помогаю со студенческими работами здесь

Ссылочная целостность в Hibernate
Предположим у нас есть таблица товар, и при удалении одного товара нужно удалить все кортежи которые ссилаються на данный товар. Возможно...

Ссылочная совместимость
Здравствуйте, не могли бы вы пояснить данную тему по подробнее? Я так поняла туда входит приведение типов?

Ссылочная переменная
Добрый день форумчане. Есть код Point p; for(int i = 0; i < 10; i++) { p = new Point(0, i); } В книге сказано...

ссылочная целость
Я работаю на Delphi 7 Пытаюсь создать ссылочную целостность (это аналог отношению один к одному?) В одной таблице (дочерней) три...

Ссылочное и ссылочная
Возник вопрос насчет ссылочной популярности. Он наряду с сылочным ранжированием входит в число важнейщих внешних факторов. Можно даже...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru