本文整理汇总了C#中ParameterValues.Contains方法的典型用法代码示例。如果您正苦于以下问题:C# ParameterValues.Contains方法的具体用法?C# ParameterValues.Contains怎么用?C# ParameterValues.Contains使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ParameterValues
的用法示例。
在下文中一共展示了ParameterValues.Contains方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ConnectLeftoversToParameters
protected void ConnectLeftoversToParameters(ModelOutput mf, ParameterValues parameters)
{
var parametersToFindValueFor = from component in Components
from parameter in component.Parameters
where parameter.Binding is ParameterValueFile
select new
{
ComponentName = component.Name,
ParameterName = parameter.Name,
DimensionTypes = parameter.DimensionTypes,
DataType = parameter.DataType,
DefaultValue = parameter.Binding.DefaultValue,
paer = parameter
};
var parametersWithManualValues = from component in Components
from parameter in component.Parameters
where parameter.Binding is ParameterValueManualConstant
select new
{
ComponentName = component.Name,
ParameterName = parameter.Name,
DimensionTypes = parameter.DimensionTypes,
DataType = parameter.DataType,
Value = ((ParameterValueManualConstant)parameter.Binding).Value,
paer = parameter
};
var parametersWithLambdas = from component in Components
from parameter in component.Parameters
where parameter.Binding is ParameterValueManuelLambda
select new
{
ComponentName = component.Name,
ParameterName = parameter.Name,
DimensionTypes = parameter.DimensionTypes,
DataType = parameter.DataType,
Value = ((ParameterValueManuelLambda)parameter.Binding).Lambda,
paer = parameter
};
var parametersInFileThatAreNotBound = from p in parameters
let pName = p.Name.ToLowerInvariant()
where !parametersToFindValueFor.Any(i => pName == i.ParameterName.ToLowerInvariant()) && pName != "region"
select p.Name;
if (parametersInFileThatAreNotBound.Count() > 0)
{
Console.WriteLine();
foreach (var p in parametersInFileThatAreNotBound)
{
Console.WriteLine("WARNING: Parameter '{0}' is not used by model", p);
}
}
foreach (var p in parametersWithManualValues)
{
mf.AddNonDimensionalVariable(p.ComponentName, p.ParameterName, p.Value);
}
foreach (var p in parametersWithLambdas)
{
if (p.Value.GetType().GetGenericTypeDefinition() == typeof(Func<,,>))
{
var types = p.Value.GetType().GetGenericArguments();
var method = mf.GetType().GetMethod("Add2DimensionalParameterLambda").MakeGenericMethod(types);
method.Invoke(mf, new object[] { p.ComponentName, p.ParameterName, p.Value });
}
else
throw new NotImplementedException();
}
foreach (var p in parametersToFindValueFor)
{
if (parameters.Contains(p.ParameterName))
{
mf.LoadVariableFromParameter(p.ComponentName, p.ParameterName, parameters, p.DataType, p.DimensionTypes.ToArray());
}
else if (p.DefaultValue != null)
{
mf.AddNonDimensionalVariable(p.ComponentName, p.ParameterName, p.DefaultValue);
}
else
throw new InvalidOperationException();
}
}