由于其保护级别,功能不可访问
本文关键字:功能 访问 于其 保护 | 更新日期: 2023-09-27 18:11:17
我在ASP中遇到c#问题。
我得到一个错误在下面的代码行开始"string[]"....
Label DT33 = (Label)MainContent2.FindControl("data_text");
string[] lines = Strings.Split(DT33.Text, "<br>");
num = lines.Length;The error reads....
编译错误描述:在编译服务此请求所需的资源期间发生错误。请查看以下具体的错误细节,并适当地修改源代码。
编译错误信息:CS0122: 'System.Linq. '由于其保护级别
, string '无法访问我指定了以下名称空间....
using Microsoft.VisualBasic;
和其他许多人一起。这是一个。net 3.5应用程序,我在这一点上没有想法。
谢谢,
我想你是这个意思:
Label DT33 = (Label)MainContent2.FindControl("data_text");
string[] lines = DT33.Text.Split(new string[] {"<br>"}, StringSplitOptions.None);
num = lines.Length;
您得到(有些神秘的)错误消息的原因是因为System.Linq
显然有一个称为Strings
的internal
类。
你的问题是:
string[] lines = Strings.Split(DT33.Text, "<br>");
您在String
上添加了一个额外的's'。我猜你还包括System.Linq
,它显然有一个名为Strings
的私有/内部类(你无法访问)。因此,Strings
由于保护级别而无法访问的错误消息。
您只需要将违规行更改为:
string[] lines = DT33.Text.Split(new string[] { "<br>" },
StringSplitOptions.None);
你应该可以走了
您正在尝试使用Microsoft.VisualBasic.Strings.Split
,但是您的用法与另一个可用的Strings
类冲突。
尝试完全限定方法调用。
string[] lines = Microsoft.VisualBasic.Strings.Split(text, separator);
但是,您还应该考虑直接使用System.String
可用的string.Split
实例方法。评估它的行为,看看你是否可以使用它,因为在c#中使用基本的BCL方法比使用或多或少特定于Visual basic的方法更习惯。
所以你可能会有像
这样的东西string[] lines = yourText.Split(new string[] { "<br>" }, StringSplitOptions.RemoveEmptyEntries);
我想你要
string.Split(.....)
而不是字符串
在我的情况下,我试图使用LINQ动态查询库或System.Linq.Dynamic.DynamicExpression。你可以从这个链接得到它。
更多ScottGu博客的细节在这里