【发布时间】:2016-11-29 12:15:46
【问题描述】:
我有一个名为 lstParam 的 ReportParameter 列表,其中的值很少。
List<ReportParameter> lstParam = new List<ReportParameter>();
ReportParameter rpm = new ReportParameter();
rpm.Name = "Department";
rpm.Name = "Location";
lstParam.Add(rpm);
注意:ReportParameter is used from reporting services rdlobject model
现在我需要检查列表是否具有特定的字符串值,并且以下代码不适用于“ReportParameter”列表。
var matchingvalues = !lstParam.Where(stringToCheck => stringToCheck.Contains(stringValue));
if (!lstParam.Any(str => str.Contains(stringValue)))
{
}
上述两种说法都没有帮助,我得到以下错误。
'ReportParameter' does not contain a definition for 'Contains' and the best extension
method overload 'Queryable.Contains<string>(IQueryable<string>,string)'
requires a receiver of type 'IQueryable<string>'
ReportParameter 类:
public class ReportParameter : ReportObject, INamedObject
{
public ReportParameter();
[DefaultValue(false)]
public bool AllowBlank { get; set; }
public DataTypes DataType { get; set; }
public DefaultValue DefaultValue { get; set; }
[DefaultValue(false)]
public bool Hidden { get; set; }
[DefaultValue(false)]
public bool MultiValue { get; set; }
[XmlAttribute(typeof(string))]
public string Name { get; set; }
[DefaultValue(false)]
public bool Nullable { get; set; }
[ReportExpressionDefaultValueAttribute]
public ReportExpression Prompt { get; set; }
[DefaultValue("")]
[XmlChildAttributeAttribute("Prompt", "LocID", "http://schemas.microsoft.com/SQLServer/reporting/reportdesigner")]
public string PromptLocID { get; set; }
[DefaultValue(UsedInQueryTypes.Auto)]
public UsedInQueryTypes UsedInQuery { get; set; }
public ValidValues ValidValues { get; set; }
protected override bool RdlSemanticEqualsCore(ReportObject rdlObj, ICollection<ReportObject> visitedList);
}
非常感谢任何建议。
【问题讨论】:
-
ReportParameter 显然不是字符串。你真的想检查这个对象的特定字符串属性吗?
-
你能告诉 ReportParameter 类它包含什么吗?基于此,我们必须决定实施。
-
@Andrei - 是的,我想用 lstParam 列表检查字符串值。
-
@SouvikGhosh - 更新了我的帖子。
-
我认为您希望检查列表中任何项目的属性名称或 PromptLocID 是否包含字符串值。我对吗?如果我错了,请纠正我。
标签: c# asp.net .net reporting-services ssrs-2012