在客户端程序WCF C中将类作为函数参数传递#
我已经编写了一个wcf程序,其中有一个类库,我在其中声明了包含一个类作为参数的函数 我在客户端程序中访问了该函数,但我不知道如何将该类传递给该函数。我将在下面编写代码在客户端程序WCF C中将类作为函数参数传递#,wcf,class,object,Wcf,Class,Object,我已经编写了一个wcf程序,其中有一个类库,我在其中声明了包含一个类作为参数的函数 我在客户端程序中访问了该函数,但我不知道如何将该类传递给该函数。我将在下面编写代码 我有一个包含基本函数声明的接口 在类库中有另一个类,它正在实现接口。该接口包含一个将类作为参数的方法 作为参数的类包含属性 [ServiceContract] public interface ICarDetails { [OperationContract] string updateCarDetails(Car
[ServiceContract]
public interface ICarDetails
{
[OperationContract]
string updateCarDetails(Car c);
}
public class CarDetails : ICarDetails
{
public string updateCarDetails(Car c)
{
//some operations and initilizations
string example = Car.carno = "1234";
return "success";
}
}
Public class Car
{
private string carno;
private string carModel;
public string CARNO
{
get{ return carno; }
set{ carno = value; }
}
public string CARMODEL
{
get{ return carModel; }
set{ carModel = value; }
}
}
3) 我将在我使用的myclient程序中访问此函数。在消费时我需要送一个班级,对吗?如果是这样的话,我如何才能发送一个类
class Program
{
static void Main(string[] args)
{
CarDetailsserviceClient client = new CarDetailsserviceClient();
string abc = client.updateCarDetails(); // This shows error
}
}
public class carclient
{
public string carno = "6789";
}
我想将这个客户端类carclient发送到wcf服务函数updatecardetails 不能传递类,必须传递该类的对象。创建新对象:
Car carclient = new Car() { CARNO = "6789" };
然后,在参数中传递它:
string abc = client.updateCarDetails(carclient);
Car
必须包含在DataContract
中,如下所示:
[DataContract]
public class Car
{
private String carno;
private String carModel;
[DataMember]
public String CARNO
{
get { return this.carno; }
set { this.carno = value; }
}
[DataMember]
public String CARMODEL
{
get { return this.carModel; }
set { this.carModel = value; }
}
}
您需要使用属性标记您的车型,然后才能将其通过服务边界:
[DataContract]
public class Car
{
private string carno;
private string carModel;
[DataMember]
public string CARNO
{
get{ return carno; }
set{ carno = value; }
}
[DataMember]
public string CARMODEL
{
get{ return carModel; }
set{ carModel = value; }
}
}
如果您这样做,然后重新生成服务客户端,您将发现您可以通过调用代码访问汽车类型,并且您不需要在客户端定义自己的类型。OP的问题不是他们不了解如何实例化类型的实例,但是他们在调用代码中无法使用所讨论的类型。在您的解决方案中,不会定义Car。您的答案仍然无法提供解决方案。OP将如何访问该车型?另外,你的答案的前几行没有提到这个问题。大家好,谢谢你的建议。这里我的主要目的是如何将类或对象作为参数传递。我需要添加数据协定。Xaruth理解得很好。我做的很好。谢谢Xaruth。