Mexx 的个人资料我們走吧 我們回去照片日志列表更多 工具 帮助
9月11日

ASP.Net 2.0 Profile 宣告陣列欄位

<add name="NewColumn" type="System.Array" />  這樣宣告是無效的!

因為 System.Array 是所有陣列的基底類別,只有系統或編譯器能明確繼承這個類別
你宣告的任何陣列都會被「偷偷的」繼承它,只是你看不到,所以忘了「System.Array 可以代表所有型別陣列」這件事

當你宣告 profile item 的型別是 System.Array,它根本不知道陣列元素的型別是什麼?(陣列初始化時,一定要知道型別)

你可以試試 System.Array 能不能用 new 的語法直接初始化為特定型別,答案是不行的!

至於 ArrayList 則不是陣列,而是集合,它的每個成員都是 object 類別,相當明確
(雖然 object 也可以代表所有東西,但 profile 機制至少知道它是 object 類別,至於到底儲存什麼東西?那是序列化的問題)
因此這樣宣告沒問題:
<add name="NewColumn" type="System.Collections.ArrayList" />

而宣告陣列的正確語法則是:
<add name="NewColumn" type="System.Int32[]" />
<add name="NewColumn" type="System.String[]" />
以此類推

评论

请稍候...
很抱歉,您输入的评论太长。请缩短您的评论。
您没有输入任何内容,请重试。
很抱歉,我们当前无法添加您的评论。请稍后重试。
若要添加评论,需要您的家长授予您相应权限。请求权限
您的家长禁用了评论功能。
很抱歉,我们当前无法删除您的评论。请稍后重试。
您已超过了一天之内允许提供的评论数上限。请在 24 小时后重试。
因为我们的系统表明您可能在向其他用户提供垃圾评论,您的帐户已禁用了评论功能。如果您认为我们错误地禁用了您的帐户,请联系 Windows Live 支持部门
完成下面的安全检查,您提供评论的过程才能完成。
您在安全检查中键入的字符必须与图片或音频中的字符一致。

若要添加评论,请使用您的 Windows Live ID 登录(如果您使用过 Hotmail、Messenger 或 Xbox LIVE,您就拥有 Windows Live ID)。登录


还没有 Windows Live ID 吗?请注册

引用通告

此日志的引用通告 URL 是:
http://eggttball.spaces.live.com/blog/cns!330312E5514C141B!1645.trak
引用此项的网络日志