我将WebServer的引用添加到UWP应用程序。当我从对象获得模式时,我想要转换另一个对象
这是我从WS_Utente
架构(WSDL
)获得的ASMX
类:
public partial class WS_Utente : object, System.ComponentModel.INotifyPropertyChanged {
private WS_MetodoDiContatto mETODO_DI_CONTATTO_PREFERITOField;
private int aREARISERVATAField;
private string sEGRETOField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Order=0)]
public string ID_UTENTE {
get {
return this.iD_UTENTEField;
}
set {
this.iD_UTENTEField = value;
this.RaisePropertyChanged("ID_UTENTE");
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Order=1)]
public string AZIENDA {
get {
return this.aZIENDAField;
}
set {
this.aZIENDAField = value;
this.RaisePropertyChanged("AZIENDA");
}
}
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(string propertyName) {
System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
if ((propertyChanged != null)) {
propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
}
}
}
我试图转向这个对象:
public interface Utente
{
string ID_UTENTE { get; set; }
string AZIENDA { get; set; }
}
但是当我尝试时:
public async Task<Utente> DoLogin(string Email, string Password)
{
WS_Utente user = await service.LoginAsync(Email, Password);
return (Utente)user;
}
它表示无法从WS_Utente
投射到Utente
类型。
我哪里错了?
答案 0 :(得分:3)
首先,您需要继承此接口:
public partial class WS_Utente : Utente, System.ComponentModel.INotifyPropertyChanged
第二,为什么要继承对象?默认情况下,所有类都从对象继承。
第三,所有接口都应该以&#34; I&#34;开头,就像&#34; IUtente&#34;
正如mjwills指出的那样,将此方法与自动生成的代码分开实施是一种很好的做法。
答案 1 :(得分:3)
添加:
public partial class WS_Utente : Utente
{}
在单独文件中添加到您现有的WS_Utente
文件中。 这是允许的,因为它是一个部分类。