Ereditarietà e servizi WCF
Scritto da
Alessandro Mostarda il
mercoledì 28 luglio 2010
•
Linguaggio:
• Livello: 200
Esporre una classe base, come parametro di un metodo di un
servizio WCF e stabilire quali classi, di quelle che ereditano,
possono essere passate come parametro:
C#
Classe di base (esposta come parametro):
[Serializable]
[KnownType(typeof(Rettile))]
[KnownType(typeof(Volatile))]
[DataContract]
public abstract class Animale
{
[DataMember]
public int Id { get; set;}
}
Classi derivate
[DataContract]
public class Rettile : Animale
{
[DataMember]
public string Colore { get; set; }
}
[DataContract]
public class Volatile: Animale
{
[DataMember]
public int LunghezzaAli { get; set; }
}
VB.NET
Classe di base (esposta come parametro):
<Serializable()> _
<KnownType(GetType(Rettile))> _
<KnownType(GetType(Volatile))> _
<DataContract()> _
Public MustInherit Class Animale
<DataMember()> _
Public Property Id() As Integer
End Class
Classi derivate
<DataContract()> _
Public Class Rettile
Inherits Animale
<DataMember()> _
Public Property Colore() As String
End Class
<DataContract()> _
Public Class Volatile
Inherits Animale
<DataMember()> _
Public Property LunghezzaAli() As Integer
End Class
Tags: WCF,KnownType