ResolveEventArgs.RequestingAssembly 屬性

定義

取得解析其相依性的組件。

public:
 property System::Reflection::Assembly ^ RequestingAssembly { System::Reflection::Assembly ^ get(); };
public System.Reflection.Assembly? RequestingAssembly { get; }
public System.Reflection.Assembly RequestingAssembly { get; }
member this.RequestingAssembly : System.Reflection.Assembly
Public ReadOnly Property RequestingAssembly As Assembly

屬性值

要求 Name 屬性所指定之項目的組件。

備註

此屬性所傳回的元件是無法解析屬性所 Name 指定專案的元件,因為該專案不存在於該元件、任何載入的相依性中,或是載入器可透過探查找到的任何相依性。

例如,假設目前的元件使用 Assembly.LoadFile 方法,從探查路徑外部的目錄載入元件 A,以便使用類別 CA。 假設類別 CA 在元件 B 中使用類別 CB,而且該元件 A 具有元件 B 的編譯時期參考,也位於探查路徑之外。 當目前的元件嘗試具現化 CA 時,載入器會嘗試解析元件 B 的參考。不過,因為元件 A 是使用 Assembly.LoadFile 方法載入,所以載入器無法解析相依性。 如果事件有處理常式 AppDomain.AssemblyResolve ,就會引發 事件,而 RequestingAssembly 產生的 ResolveEventArgs 物件的 屬性包含元件 A,因為元件 A 是遺漏相依性元件。

屬性的 RequestingAssembly 語意會根據要求的元件載入方式而有所不同:

  • 載入內容:屬性的值可能是 null 。 載入內容與載入順序無關,而且要求元件的身分識別不一定有意義。 呼叫 方法且指定的型別不知道要求元件或其任何相依性時 Type.GetType ,就會發生非 Null 範例。

  • 從內容載入:屬性可以當做探查提示使用,但事件處理常式不應該取得指定元件名稱的多個要求。

  • 沒有內容 (也就是說,要求元件是使用 Assembly.LoadFile 方法載入,或是以位元組資料流程的形式載入,或是以混合模式) :處理常式可以使用 RequestingAssembly 屬性,根據要求元件的身分識別載入相同元件的不同實作。

適用於

另請參閱