Estoy usando Fody en un proyecto de SilverLight para autogenerar dependencias de propiedad. Sin embargo, no funciona si los programadores ya contienen una llamada a un método RaisePropertyChanged
.¿Cómo generar una referencia de servicio web sin INotifyPropertyChanged?
Una solución podría ser generar el código de referencia del servicio web sin INotifyPropertyChanged
y en su lugar implementarlo en un método parcial.
¿Cómo puedo generar el código de referencia del servicio web sin INotifyPropertyChanged
?
Tengo un servicio WCF, llamémoslo MaterialService.svc. Se ve algo como esto:
[ServiceContract]
public interface IMaterialService
{
[OperationContract]
Material GetMaterial(int id);
}
[DataContract]
public class Material
{
[DataMember]
public int ID { get; set; }
[DataMember]
public string Name { get; set; }
}
Cuando agrego el servicio como una referencia de servicio y generar código de cliente, todas las clases se establece para implementar INotifyPropertyChanged
:
public partial class Material : object, System.ComponentModel.INotifyPropertyChanged {
private int IDField;
private string NameField;
[System.Runtime.Serialization.DataMemberAttribute()]
public int ID {
get {
return this.IDField;
}
set {
if ((this.IDField.Equals(value) != true)) {
this.IDField = value;
this.RaisePropertyChanged("ID");
}
}
}
[System.Runtime.Serialization.DataMemberAttribute()]
public System.Nullable<string> Name {
get {
return this.NameField;
}
set {
if ((this.NameField.Equals(value) != true)) {
this.NameField = value;
this.RaisePropertyChanged("Name");
}
}
}
}
¿Cómo puedo generar código de cliente que doesn ¿Implementar INotifyPropertyChanged
?
Funciona, muchas gracias :) Para cualquiera que tenga el mismo problema que yo en Fody, me puse en contacto con Simon Cropp e hizo una nueva versión que admite llamadas existentes RaisePropertyChanged, así que también solucionó el problema, pero aún así es agradable saber :) –