控制台应用程序:我有一个具有所有票证详细信息的对象,我试图通过webservice传递此对象。
基本上,我想将“VVV”(票证明细值列表)分配给“APTR”对象然后,我将“APTR”传递给该方法。
控制台应用程序:
xmlStringResult = ss.GetAllTickets(APTR);
Console.WriteLine(xmlStringResult);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return xmlStringResult;
}
//end
我想将vvv类对象值分配给APTR,你能指导我吗?
group_vars
两者都是不同的名称空间,但是相同的类和属性..当我尝试编译时,我收到的错误就像
错误55无法隐式转换类型 'AutoProvisionWebAPIClient.AutoProvisionTicketsResponse'来 'AutoProvisionController.SRMUserRegServiceReference.AutoProvisionTicketsResponse' \ ARMWebAPIClient \ AutoProvisionController \ SRMUserRegServiceProxy.cs 44 24 AutoProvisionController
答案 0 :(得分:2)
如果它们是两个不同命名空间中的两个类,则它们基本上被视为两个不同的类,即使它们具有相同的属性和方法。
您应该使用通用命名空间来定义类,并使用它来代替。
修改强>
如果你必须使用两个不同的命名空间(虽然我不明白为什么),你可以单独将一个类对象的属性复制到另一个,这与另一个答案中建议的相同。< / p>
namespace NamespaceOne
{
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
}
namespace NamespaceTwo
{
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
}
namespace MainNamespace
{
class Program
{
public static void Main()
{
NamespaceOne.Person p1 = new NamespaceOne.Person() { FirstName = "Zaphod", LastName = "Beeblebrox" };
NamespaceTwo.Person p2 = new NamespaceTwo.Person() { FirstName = p1.FirstName, LastName = p1.LastName };
Console.ReadLine();
}
}
}
同样,这是毫无意义的,我建议不要这样做。正确的方法是只有一个公共名称空间,您的类(在本例中为Person
)驻留在该名称空间中,并在需要时使用它。像这样:
namespace CommonNamespace
{
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
}
namespace MainNamespace
{
class Program
{
public static void Main()
{
CommonNamespace.Person p1 = new CommonNamespace.Person() { FirstName = "Zaphod", LastName = "Beeblebrox" };
CommonNamespace.Person p2 = p1;
Console.ReadLine();
}
}
}
答案 1 :(得分:0)
两者都是不同的名称空间,但具有相同的类和属性
这意味着两者都是完全不同的类别。
一种解决方案是在两种情况下都有一个类(可能在两个程序集中使用的另一个命名空间)。
另一种方法是创建一个翻译方法,通过检查参数的成员并分配给创建的对象,创建一个AutoProvisionWebAPIClient.AutoProvisionTicketsResponse
并返回AutoProvisionController.SRMUserRegServiceReference.AutoProvisionTicketsResponse
。
可能这可能是在其中一个转换中定义的转换运算符,这将允许使用强制转换而不是方法调用。