天天看點

編譯器錯誤消息: CS0122: “System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可通路,因為它受保護級别限制

編譯錯誤

說明: 在編譯向該請求提供服務所需資源的過程中出現錯誤。請檢查下列特定錯誤詳細資訊并适當地修改源代碼。

編譯器錯誤消息: CS0122: “System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可通路,因為它受保護級别限制

源錯誤:

行 17: 
行 18:         DataTable dt = new DataTable();
行 19:         System.Data.DataRow r = new DataRow();
行 20:         // DataRow r = new DataRow();
行 21:          DataColumn c = new DataColumn();      

源檔案: d:\My Documents\Visual Studio 2008\WebSites\test_wz\Default.aspx.cs    行: 19

顯示詳細的編譯器輸出:

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE> "C:\WINDOWS\Microsoft.NET\Framework\v3.5\csc.exe" /t:library /utf8output /R:"C:\WINDOWS\assembly\GAC_32\System.Web\2.0.0.0__b03f5f7f11d50a3a\System.Web.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Data.DataSetExtensions\3.5.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.EnterpriseServices\2.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.WorkflowServices\3.5.0.0__31bf3856ad364e35\System.WorkflowServices.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Core\3.5.0.0__b77a5c561934e089\System.Core.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Extensions\3.5.0.0__31bf3856ad364e35\System.Web.Extensions.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Services\2.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Runtime.Serialization\3.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll" /R:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.IdentityModel\3.0.0.0__b77a5c561934e089\System.IdentityModel.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.ServiceModel\3.0.0.0__b77a5c561934e089\System.ServiceModel.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Mobile\2.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Xml.Linq\3.5.0.0__b77a5c561934e089\System.Xml.Linq.dll" /R:"C:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.ServiceModel.Web\3.5.0.0__31bf3856ad364e35\System.ServiceModel.Web.dll" /out:"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\test_wz\537e400f\ef20f76\App_Web_bvqv1ywx.dll" /debug- /optimize+ /w:4 /nowarn:1659;1699;1701 /warnaserror-  "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\test_wz\537e400f\ef20f76\App_Web_bvqv1ywx.0.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\test_wz\537e400f\ef20f76\App_Web_bvqv1ywx.1.cs" "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\test_wz\537e400f\ef20f76\App_Web_bvqv1ywx.2.cs"


适用于 Microsoft(R) .NET Framework 3.5 版的 Microsoft(R) Visual C# 2008 編譯器 3.5.30729.1
 版
版權所有(C) Microsoft Corporation。保留所有權利。

d:\My Documents\Visual Studio 2008\WebSites\test_wz\Default.aspx.cs(19,33): error CS0122: “System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可通路,因為它受保護級别限制
c:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll: (與前一個錯誤相關的符号位置)
d:\My Documents\Visual Studio 2008\WebSites\test_wz\Default.aspx.cs(22,24): error CS0144: 無法建立抽象類或接口“System.Array”的執行個體
d:\My Documents\Visual Studio 2008\WebSites\test_wz\Default.aspx.cs(22,37): error CS0117: “System.Array”并不包含“Add”的定義
d:\My Documents\Visual Studio 2008\WebSites\test_wz\Default.aspx.cs(22,41): error CS0117: “System.Array”并不包含“Add”的定義
d:\My Documents\Visual Studio 2008\WebSites\test_wz\Default.aspx.cs(22,45): error CS0117: “System.Array”并不包含“Add”的定義
d:\My Documents\Visual Studio 2008\WebSites\test_wz\Default.aspx.cs(22,49): error CS0117: “System.Array”并不包含“Add”的定義
      

版本資訊: Microsoft .NET Framework 版本:2.0.50727.3655; ASP.NET 版本:2.0.50727.3658

解決方案:

DataRow不能直接new

應該調用DataTable的NewRow()方法建立新行。

     DataRow r = dt.NewRow();