0
[DataContract]
public abstract class FooBase
{
[DataMember]
public int Bar { get; set; }
}
這是一個基類,我用它作爲DataContracts的其他類的基類。這裏的問題雖然...WCF - DataContract通過複製/粘貼原始代碼或通過共享抽象類的自動生成的代碼?
在Proj1我選擇添加服務引用...(MyService),它會爲我生成代碼,包括FooBase代碼。 在Proj2中,我選擇添加服務引用...(OtherService),它也是這樣。
但是,我想富基類是在它自己的組件,這兩個項目可以參考...所以,是它更好地:
複製/ FooBase類粘貼到其他共享組件,它是什麼?或者,將FooBase類的生成代碼複製/粘貼到另一個共享程序集中?
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="FooBase", Namespace="http://schemas.datacontract.org/2004/07/MyNamespace")]
[System.SerializableAttribute()]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(MyNamespace.Proj1.TypeA))]
[System.Runtime.Serialization.KnownTypeAttribute(typeof(MyNamespace.Proj1.TypeB))]
public partial class FooBase : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
[System.NonSerializedAttribute()]
private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
private int BarField;
[global::System.ComponentModel.BrowsableAttribute(false)]
public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
get {
return this.extensionDataField;
}
set {
this.extensionDataField = value;
}
}
[System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
public int Bar {
get {
return this.BarField;
}
set {
if ((this.BarField.Equals(value) != true)) {
this.BarField = value;
this.RaisePropertyChanged("Bar");
}
}
}
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));
}
}
}
好的,我知道。我問是否使用自動生成的代碼或位於我的服務器上的相同代碼更好?基本上,代碼1或代碼2?我在我的問題中指出,無論是/還是將會進入共享庫。只是一個問題......我該用哪個。 –
如果這是純粹的.Net解決方案,請使用共享庫。 –
抱歉不清楚。我的首選是使用共享庫中的非生成代碼,即只有數據合同的代碼。 –