可能性の重複:
Inline functions in C#?
What is method inlining?は、この属性は何をするのか:MethodImplOptions.NoInlining(または:メソッドを 'インライン化' されているもの)
を私はコードをデバッグしてきましたこの問題の「可能な」原因は、このコードでマークされている関数内にあります。
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
protected virtual void PropertyHasChanged()
MSDNには次のように記載されています。メソッドをインライン化できないように指定します。
しかし、メソッドを 'インライン化'するのは何ですか?
EDIT:
明確にする:PropertyHasChanged()
メソッドが内部オブジェクトカウンタ(これに1を加算する)すべてのプロパティと更新のSETメソッドで呼び出されます。そのカウンタが0より大きい場合、オブジェクトは「ダーティ」とマークされ、保存が呼び出されるとデータベースに保存されます。 counter = 0の場合、オブジェクトはデータベースに保存されません。今度は、このコードが実行されない(カウンターが増加しない)ので、オブジェクトがデータベースに保存されないようにする考えがあります。
これは有効な質問ですが、このメソッドのインライン化または非インライン化は、デバッグしているすべての問題とはまったく関係がありません。 – AakashM
@Veger:私はその記事を読んだことがありますが、主にC#のインラインメソッドに関するもので、意味するものではありません。 – Michel
(私のDUPE候補はC#固有ではありませんが、実際にはインライン展開を説明しています) – AakashM