共通の .NET オブジェクトである OleDbConnection、XMLDocument、webBrowser を操作を行うメソッドに渡すメソッドがいくつかあります。ref/out キーワードなしでオブジェクトとして渡しています。お気に入り:
void btn_click()
{
OleDbConnection dbConn; XMLDocument Doc; webBrowser Browser;
// Do operations on dbConn, Doc and Browser here
Call(dbConn, Doc, Browser);
}
void Call(OleDbConnection dbConn, XMLDocument Doc, webBrowser Browser)
{
// Do operations on dbConn, Doc and Browser here
Call2(OleDbConnection dbConn, XMLDocument Doc, webBrowser Browser);
}
void Call2(OleDbConnection dbConn, XMLDocument Doc, webBrowser Browser)
{
// Do further operations on dbConn, Doc and Browser here
}
これらのメソッドは何千回も呼び出されるため、毎回オブジェクトが渡されます。プログラムは正常に動作しています。呼び出されたメソッドでオブジェクトがリセットまたは再初期化されることはなく、プロパティ データのみが使用されます。したがって、それらを「ref」として渡す必要はないと思います。
私の質問は、これらすべてを ref として渡すと、特にデータベース接続や Web ブラウザーのナビゲーションで、パフォーマンスが大幅に向上するかどうかです。オブジェクトが ref として渡される場合と渡されない場合のパフォーマンスの向上について説明している記事はありますか?