// Creates AssemblyName. Fills assembly if AssemblyResolve event has been raised.
internal static AssemblyName CreateAssemblyName(
String assemblyString,
bool forIntrospection,
out RuntimeAssembly assemblyFromResolveEvent)
{
if (assemblyString == null)
{
throw new ArgumentNullException(nameof(assemblyString));
}
Contract.EndContractBlock();
if ((assemblyString.Length == 0) ||
(assemblyString[0] == '\0'))
{
throw new ArgumentException(SR.Format_StringZeroLength);
}
if (forIntrospection)
{
AppDomain.CheckReflectionOnlyLoadSupported();
}
AssemblyName an = new AssemblyName();
an.Name = assemblyString;
an.nInit(out assemblyFromResolveEvent, forIntrospection, true);
return(an);
}