本文整理汇总了C#中PHP.Core.PhpArray.TryGetValue方法的典型用法代码示例。如果您正苦于以下问题:C# PhpArray.TryGetValue方法的具体用法?C# PhpArray.TryGetValue怎么用?C# PhpArray.TryGetValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHP.Core.PhpArray
的用法示例。
在下文中一共展示了PhpArray.TryGetValue方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BindServerResult
public object[] BindServerResult(MethodInfo mi, PhpArray result, bool wrappedArgs)
{
var resultParams = new List<object>();
var parameterInfos = new List<ParameterInfo>();
parameterInfos.Add(mi.ReturnParameter);
parameterInfos.AddRange(mi.GetParameters().Where(a=>a.IsOut));
object value;
if (!wrappedArgs)
{
//TODO: make sure: When arguments are not wrapped soap method parameter is only one
Debug.Assert(parameterInfos.Count == 1);
resultParams.Add(Bind(result, parameterInfos[0].ParameterType));
}
else
{
foreach (var pi in parameterInfos)
{
if (SetSpecifiedParameter(resultParams, pi))
continue;
var name = WsdlHelper.GetParameterSoapName(pi);
if (result.TryGetValue(name, out value))
{
resultParams.Add(Bind(value, pi.ParameterType));
}
}
}
lastPrimitive = false;
return resultParams.ToArray();
}
示例2: BindParams
public object[] BindParams(MethodInfo mi, PhpArray parameters, bool wrappedArgs)
{
var resultParams = new List<object>();
var parameterInfos = mi.GetParameters();
object value;
if (!wrappedArgs)
{
//TODO: make sure: When arguments are not wrapped soap method parameter is only one
Debug.Assert(parameterInfos.Length == 1);
resultParams.Add(Bind(parameters, parameterInfos[0].ParameterType));
}
else
{
foreach (var pi in parameterInfos)
{
if (SetSpecifiedParameter(resultParams, pi))
continue;
value = null;
if (parameters == null || parameters.TryGetValue(pi.Name, out value))
{
resultParams.Add(Bind(value, pi.ParameterType));
}
else
{
resultParams.Add(pi.ParameterType.IsValueType ? Activator.CreateInstance(pi.ParameterType) : null);
}
}
}
lastPrimitive = false;
return resultParams.ToArray();
}
示例3: BindArrayToObject
private object BindArrayToObject(PhpArray array, Type targetType)
{
object instance = Activator.CreateInstance(targetType);// no ctor parameters
FieldInfo[] fi = targetType.GetFields(BindingFlags.Public | BindingFlags.Instance);
object value;
foreach (var field in fi)
{
if (SetSpecifiedField(instance, field))
continue;
if (array.TryGetValue(field.Name, out value))
{
field.SetValue(instance, Bind(value, field.FieldType));
}
}
lastPrimitive = false;
return instance;
}