ResolveEventArgs.RequestingAssembly Egenskap

Definition

Hämtar sammansättningen vars beroende löses.

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

Egenskapsvärde

Sammansättningen som begärde objektet som angetts av Name egenskapen.

Kommentarer

Sammansättningen som returneras av den här egenskapen är en sammansättning som inte kunde matcha objektet som angetts av Name egenskapen, eftersom objektet inte fanns i den sammansättningen, i något av dess inlästa beroenden eller i eventuella beroenden som inläsaren kunde hitta genom avsökning.

Anta till exempel att den aktuella sammansättningen använder Assembly.LoadFile metoden för att läsa in sammansättning A från en katalog utanför avsökningssökvägen för att använda klass-CA. Anta vidare att klass-CA använder klass-CB, i sammansättning B, och att sammansättning A har en kompileringstidsreferens till sammansättning B, som också finns utanför avsökningssökvägen. När den aktuella sammansättningen försöker instansiera CA försöker inläsaren matcha referensen till sammansättning B. Men eftersom sammansättning A lästes in med hjälp Assembly.LoadFile av metoden kan inte inläsaren lösa beroendet. Om det finns en hanterare för händelsen utlöses händelsen och AppDomain.AssemblyResolve egenskapen för RequestingAssembly det resulterande ResolveEventArgs objektet innehåller sammansättning A, eftersom sammansättning A är den sammansättning som saknar ett beroende.

Semantiken för egenskapen RequestingAssembly varierar beroende på hur den begärande sammansättningen lästes in:

  • Inläsningskontext: Värdet för egenskapen kan vara null. Inläsningskontexten är oberoende av belastningsordning och identiteten för den begärande sammansättningen är inte nödvändigtvis meningsfull. Ett exempel som inte är null inträffar när Type.GetType metoden anropas och den angivna typen inte är känd för den begärande sammansättningen eller något av dess beroenden.

  • Inläsningskontext: Egenskapen kan användas som avsökningstips, men händelsehanteraren bör inte få mer än en begäran om ett visst sammansättningsnamn.

  • Ingen kontext (dvs. den begärande sammansättningen lästes in med hjälp Assembly.LoadFile av metoden, som byteström eller i blandat läge): Hanteraren kan använda RequestingAssembly egenskapen för att läsa in olika implementeringar av samma sammansättning baserat på identiteten för den begärande sammansättningen.

Gäller för

Se även