【发布时间】:2013-11-30 17:04:40
【问题描述】:
我有一个 wcf 服务,在客户端通过 wsdl 文件动态调用 wcf 服务。现在我想在我的 wcf 服务中设置方法的属性。我有复杂类型的属性,在每个复杂类型中我有 30 到 4o 个复杂类型。我无法触及服务,唯一的事情是使用反射将值分配给服务数据合同并使用 methodInfo.Invoke(传递构造的对象数组)。客户端将在字典中传递数据合同的输入参数。递归是否需要在复杂类型的内部类中导航并设置值。 示例代码:
public CompositeType GetTestDataUsingDataContract(CompositeType composite, string str, int i,EmployeeIn obj)
{
///code here
}
**DataContract for CompositeType**
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";
EmployeeIn employeeValue;
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
[DataMember]
public EmployeeIn EmploValue
{
get { return employeeValue; }
set { employeeValue = value; }
}
}
EmployeeIn Class
[DataContract]
public class EmployeeIn
{
bool UserIsOnline = true;
string UserName = "DANGER";
[DataMember]
public bool BoolValue
{
get { return UserIsOnline; }
set { UserIsOnline = value; }
}
[DataMember]
public string StringValue
{
get { return UserName; }
set { UserName = value; }
}
}
使用反射我想设置这些属性。
【问题讨论】:
标签: c# wcf reflection