我有一个名为
SaveChanges<T>(T object)
的方法,经常在我的代码中被调用。但是,根据调用该方法的操作不同,会从SaveChanges内部调用不同的方法。就像这样...protected void SaveChanges<T>(T mlaObject, SomeFunction(arg))
where T : WebObject
{
try { this._db.SaveChanges(); }
catch (Exception e)
{
Console.WriteLine("Error: " + e);
SomeFunction(arg);
}
}
使用示例:
SaveChanges<MlaArticle>(article, article.Authors.Remove(person)) //person is an object of type MlaPerson
//OR
SaveChanges<MlaArticle>(article, article.RelatedTags.Remove(tag)) //tag is an object of type Tag
//OR
SaveChanges<MlaArticle>(article, article.RelatedWebObjects.Remove(location)) //location is an object of type MlaLocation
我已经了解了委托方法,但是对于如何根据我的要求实现它或者我的要求是否需要使用委托还有些困惑。
编辑:另外,是否可以传递多个操作?
delegate() { ... }
。 - user7116