MalwareSourceCode/MSIL/Virus/Win32/N/Virus.Win32.Nimnul.c-d5c6463b93131b3c485115414cf5809e01323986e3d4274a4868222cbb54aa43/Shared/AssemblyLoadInfo.cs
2022-08-18 06:28:56 -05:00

52 lines
2.0 KiB
C#

// Decompiled with JetBrains decompiler
// Type: Microsoft.Build.Shared.AssemblyLoadInfo
// Assembly: MSBuild, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// MVID: E42BAB90-704E-4C03-B5C0-D4E3A6B884E3
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00001-msil\Virus.Win32.Nimnul.c-d5c6463b93131b3c485115414cf5809e01323986e3d4274a4868222cbb54aa43.exe
namespace Microsoft.Build.Shared
{
internal sealed class AssemblyLoadInfo
{
private string assemblyName;
private string assemblyFile;
private AssemblyLoadInfo()
{
}
internal AssemblyLoadInfo(string assemblyName, string assemblyFile)
{
ErrorUtilities.VerifyThrow(assemblyName != null && assemblyName.Length > 0 || assemblyFile != null && assemblyFile.Length > 0, "We must have either the assembly name or the assembly file/path.");
ErrorUtilities.VerifyThrow(assemblyName == null || assemblyFile == null, "We must not have both the assembly name and the assembly file/path.");
this.assemblyName = assemblyName;
this.assemblyFile = assemblyFile;
}
internal string AssemblyName => this.assemblyName;
internal string AssemblyFile => this.assemblyFile;
public override string ToString()
{
if (this.assemblyName != null)
{
ErrorUtilities.VerifyThrow(this.assemblyFile == null, "We cannot have both the assembly name and the assembly file/path.");
return this.assemblyName;
}
ErrorUtilities.VerifyThrow(this.assemblyFile != null, "We must have either the assembly name or the assembly file/path.");
return this.assemblyFile;
}
public override int GetHashCode() => this.ToString().GetHashCode();
public override bool Equals(object obj)
{
if (obj == null || !(obj is AssemblyLoadInfo))
return false;
AssemblyLoadInfo assemblyLoadInfo = (AssemblyLoadInfo) obj;
return this.AssemblyName == assemblyLoadInfo.AssemblyName && this.AssemblyFile == assemblyLoadInfo.AssemblyFile;
}
}
}