Это скорее напыщенная речь, чем вопрос; но мне любопытно узнать, есть ли у кого-нибудь понимание для меня. Приложение, над которым я работаю, работает с C # .NET; связь достигается через сокет, через который мы помещаем объекты AMF. Определения классов объектов AMF генерируются командой на стороне сервера, и мне просто нужно использовать registerClassAlias
на стороне флэш-памяти, чтобы связать их - довольно стандартно; единственное отличие состоит в том, что, поскольку они исходят из фона C #, они предпочитают использовать UpperCammelCasing вместо lowerCamelCasing для имен свойств.
Сегодня я получил несколько обновленных объектов AMF, которые я поместил в проект; но я заметил, что после обновления мой проект больше не будет компилироваться - вот определения классов:
LeaderboardInfo.as Генерируемый класс
package com.generated {
public class LeaderboardInfo {
public var IsTied : Boolean;
}
}
Созданный класс GameResult.as
package com.generated {
public class GameResult {
public var LeaderboardInfo : LeaderboardInfo;
}
}
Ошибка MXMLC
[mxmlc] .../GameResult.as(27): col: 32 Error: Type was not found or was not a compile-time constant: LeaderboardInfo.
[mxmlc] public var LeaderboardInfo : LeaderboardInfo;
[mxmlc] ^
Если я изменю имя свойства с LeaderboardInfo
на SomethingElse
, тогда оно будет скомпилировано нормально; Я могу предположить, что компилятор не может различить имя свойства и атрибут type, но так ли это на самом деле?!