#c# #unity3d
Вопрос:
У меня есть кое-какой вопрос, (извините, я плохо говорю по-английски)
во-первых, объясните структуру моего проекта
Проект библиотеки CoreNet включает тип перечисления с именем PACKET_TYPE,
Проект библиотеки MmoCore включает тип перечисления с именем CONTENT_TYPE, и этот проект относится к «CoreNet».
наконец, проект unity ссылается на CoreNet, dll MmoCore в папке плагинов
и Недопустимое исключение приведения возникает, когда я вызываю метод «SerWrite».
Метод SerWrite приведен ниже [этот метод находится в MmoCore].
void SerWrite()
{
// NetStream ns, PACKET_TYPE pt in packet class
//NetStream is just Custom Stream class
//PACKET_TYPE is in CoreNet dll.
Translate.Write(ns, pt);
}
итак, мой сценарий в образце unity
void Start()
{
var tmpP = PACKET_TYPE.SOME;
var ns = new NetStream();
//non exception
Translate.Write(ns, tmpP);
HelloReq p = new HelloReq();
//unity throw invalid cast exception
p.SerWrite();
}
как я могу это исправить..?
Комментарии:
1. Попробуй
p.SerWrite(ns, tmpP)
.2. извините, это опечатка, лол; я исправляю ее
3. Все, что я могу предположить, это то, что
ns
pt
переменные и не соответствуют сигнатуреTranslate.Write
функции без дополнительной информации.