2008-12-04 153 views
4

我試圖使用通用列表作爲用戶配置文件的屬性。我承認這可能只是讓我的生活變得比需要的更艱難,但我不想僅僅因爲數據存儲的掙扎而改變編程模型。泛型和ASP.Net會員供應商

我有這個在我的web.config

 </providers> 
     <properties> 
      ..... 
      <add name="AListProperty" type="System.Collections.Generic.List`1[[System.Int32]]"/> 
      <add name="AnotherListProperty" type="System.Collections.Generic.List`1[[MyNamespace.Web.UI.MyReallySimpleClass]]"> 
         </properties> 
    </profile> 

第一個屬性, 「AListProperty」 工作正常。第二個引發了各種異常,這取決於我在web.config中如何解決它。 MyReallySimpleClass是公開的,可序列化的,由2個公共字段(目前)組成

所以,我的問題是 1.有誰知道在web.config中聲明這些類型的格式是否記錄在哪裏。 2.我做錯了什麼?看起來很好,我看不出兩個聲明之間的語義差異。

感謝

+0

我不知道這是與事實是System.Int32是一種原始的類型和MyReallySimpleClass是不該做。 – BenAlabaster 2008-12-04 21:34:45

回答

3

這將有助於如果你還可以給有關異常的類型和消息所遇到的一些細節。否則,我的猜測是,您可能需要對MyNamespace.Web.UI.MyReallySimpleClass進行限定,並將其與類型所在的組件相關聯,如MyNamespace.Web.UI.MyReallySimpleClass, MyAssembly。不需要裝配資格,除非類型在mscorlibSystem.Int32App_Codesystem.web/compilation/assemblies部分列出的其中一個裝配中。

  1. 有誰知道在web.config中 聲明這些類型的格式記錄。

請參閱MSDN Specifying Fully Qualified Type Names

+0

我沒有爲您的答案投票,因爲您不需要的彙編資格證明是令人困惑的。你說「不需要,除非......」?但是system.int32沒有彙編限定。我的課生活在項目的輸出組件中,但仍然需要組裝qualif – 2008-12-04 22:16:35

+0

我以爲我澄清了這一點。如果程序集限定條件不存在,那麼始終檢查mscorlib。由於Int32位於mscorlib中,因此不需要您明確指定程序集。 – 2008-12-04 23:05:03

3

嘗試指定YourReallySimpleClass的裝配:

...type="System.Collections.Generic.List`1[[MyNamespace.Web.UI.MyReallySimpleClass, MyAssemblyName]]"