Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
кастинг структур из VB.NET в C#
|
|||
|---|---|---|---|
|
#18+
Сдрасти. Мучаюсь с кастингом структур. Переписиваю мотор сайта с VB на C# (постепенно) В VB есть struct который держится в сессии. Создал такой же struct в проекте C# (отдельный dll)Structure MySTRUCT1 Dim IDNT_OVED As Integer Dim IDNT_YEHIDA_AVODA As Integer Dim IDNT_GUSH_AVODA As Integer Dim IDNT_TAFKID_AVODA As Integer Dim HASAMOT As Integer Dim CODE_TAFKID_BEFOAL As Integer Dim NUM_KFIFIM As Integer Dim NAME_EMPLOYEE_MISHPACHA As String Dim NAME_EMPLOYEE_PRATI As String Dim TEXT_GROUPS As String Dim NAME_YEHIDA_AVODA As String Dim NAME_GUSH_AVODA As String Dim TEXT_TEUR_MISRA As String Dim NAME_LOGIN As String End Structure public struct MySTRUCT2 { public Int32 IDNT_OVED; public Int32 IDNT_YEHIDA_AVODA; public Int32 IDNT_GUSH_AVODA; public Int32 IDNT_TAFKID_AVODA; public Int32 HASAMOT; public Int32 CODE_TAFKID_BEFOAL; public Int32 NUM_KFIFIM; public String NAME_EMPLOYEE_MISHPACHA; public String NAME_EMPLOYEE_PRATI; public String TEXT_GROUPS; public String NAME_YEHIDA_AVODA; public String NAME_GUSH_AVODA; public String TEXT_TEUR_MISRA; public String NAME_LOGIN; } делаю следушее: создаю новый struct:dim a as portal.MySTRUCT1 FillStruct(a) session.add("currentStruct",a) далее в коде пытаюсь сделать следущее:MyLibrary.MySTRUCT2 b; b = (MyLibrary.MyStruct)Page.Session["currentStruct"]; пишет что неможет конвертить данные. Как можно вообше прокастить структуру из VB в C# ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 13:35 |
|
||
|
кастинг структур из VB.NET в C#
|
|||
|---|---|---|---|
|
#18+
VB и C# тут не причем. Ты пытаешься абсолютно две разные структуры привести одну к другой не имея меджу ними ничего общего кроме одинаковой структуры. 1. Неясно - у тебя два проэкта - один на вб.нет другой на c# и один из них использует типы другого? Если нет, то не понятно смешание кодов на разных языках vb dim a as portal.MySTRUCT1 FillStruct(a) session.add("currentStruct",a) c# MyLibrary.MySTRUCT2 b; b = (MyLibrary.MyStruct)Page.Session["currentStruct"]; 2. Если ты используешь общие типы, то для чего тебе вообще нужен MySTRUCT2? 3. Если уж так хочешь иметь возможность приводить разные типы, то, если не ошибаюсь, C# позволяет переопределить кастинг к типу таким образом, что бы можно было приводить к типам не совместимым с данным. Правда не помню справедливо ли это для структур. 4. В сесси лучше хранить не структуры, а классы. Иначе у тебя будет постоянные операции с копированием , boxing/unboxing etc. IMHO _______________________________________________________ Never ask users what they want, or they'll tell you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 13:50 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=893&tid=1390130]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 255ms |
| total: | 404ms |

| 0 / 0 |
