これら2つのステートメントの違いは何ですか? 特に、どちらがより最適化されているかに興味があります。
GridViewRow currentItem = (GridViewRow)drp_Vendor.Parent;
と
GridViewRow currentItem = (GridViewRow)drp_Vendor.NamingContainer;
基本的な違いはNamingContainer
、ネーミング コンテナーである祖先が見つかるまでコントロール ツリーを上に移動することです ( INamingContainerインターフェイスを実装Parent
し、コントロール ツリーの直接の親を返します。
あなたの場合、GridViewRow は、drp_Vendor コントロールの直接の親と名前付けコンテナーの両方のように見えます。
ただし、たとえば、drp_Vendor コントロールを の 内に配置するPanel
とTemplateField
、Parent は Panel になり、NamingContainer は GridViewRow になります。
どちらが「最も最適化されている」かについては、Parent
プロパティはわずかに高速になりますが、違いはわずかです。