powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / кастинг структур из VB.NET в C#
2 сообщений из 2, страница 1 из 1
кастинг структур из VB.NET в C#
    #33949459
Mr_White
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сдрасти.
Мучаюсь с кастингом структур.
Переписиваю мотор сайта с 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#


 
...
Рейтинг: 0 / 0
кастинг структур из VB.NET в C#
    #33949516
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / кастинг структур из VB.NET в C#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]