我使用Linq-to-SQL,它將爲拖動到其設計器的數據庫表生成類。當我拖累Product
表設計器,Visual Studio會產生這樣的:爲什麼Linq-to-SQL生成的代碼錯誤,但是在編譯時沒有錯誤
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Products")]
public partial class Product : INotifyPropertyChanging, INotifyPropertyChanged
{
// ...
partial void OnProductIDChanging(int value);
partial void OnProductIDChanged();
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProductID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
public int ProductID
{
get
{
return this._ProductID;
}
set
{
if ((this._ProductID != value))
{
this.OnProductIDChanging(value);
this.SendPropertyChanging();
this._ProductID = value;
this.SendPropertyChanged("ProductID");
this.OnProductIDChanged();
}
}
}
//...
}
OnProductIDChanging
和OnProductIDChanged
不是抽象的方法,他們是空的,但他們爲什麼不給編譯錯誤。謝謝。
你是什麼意思?爲什麼編譯器會觸發空方法的錯誤? –