這不僅僅是一個問題,而是一個咆哮。但我很想知道是否有人對我有一些洞察力。我正在處理的應用程序處理C#.NET後端;通信是通過我們推送AMF對象的套接字實現的。 AMF對象類定義是由服務器端團隊生成的,我只需在閃存上使用registerClassAlias
將它們連接起來 - 非常標準;唯一的區別是,因爲他們來自C#背景,他們更喜歡使用UpperCammelCasing而不是lowerCamelCasing來獲取屬性名稱。如果一個屬性名稱與一個類類型匹配,爲什麼Flex編譯器會感到困惑?
今天我收到了一堆更新的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
那麼它編譯得很好;我唯一的猜測是編譯器無法區分屬性名稱和類型屬性,但是真的是這樣嗎?!
是的,我敢肯定它是。如果你的變量名與你的包名相同,我想它也會變得困惑,就像在public var generated:LeaderboardInfo中一樣,儘管我不能發誓。 – alecmce
您是否可以不使用.NET AMF序列化程序來使其將UpperCamelCase屬性序列化爲lowerCamelCase? – RIAstar