本文整理汇总了C#中AssemblySymbol.GetInternalsVisibleToPublicKeys方法的典型用法代码示例。如果您正苦于以下问题:C# AssemblySymbol.GetInternalsVisibleToPublicKeys方法的具体用法?C# AssemblySymbol.GetInternalsVisibleToPublicKeys怎么用?C# AssemblySymbol.GetInternalsVisibleToPublicKeys使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AssemblySymbol
的用法示例。
在下文中一共展示了AssemblySymbol.GetInternalsVisibleToPublicKeys方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MakeFinalIVTDetermination
/// <summary>
/// Determine whether this assembly has been granted access to <paramref name="potentialGiverOfAccess"></paramref>.
/// Assumes that the public key has been determined. The result will be cached.
/// </summary>
/// <param name="potentialGiverOfAccess"></param>
/// <returns></returns>
/// <remarks></remarks>
protected IVTConclusion MakeFinalIVTDetermination(AssemblySymbol potentialGiverOfAccess)
{
IVTConclusion result;
if (AssembliesToWhichInternalAccessHasBeenDetermined.TryGetValue(potentialGiverOfAccess, out result))
return result;
result = IVTConclusion.NoRelationshipClaimed;
//EDMAURER returns an empty list if there was no IVT attribute at all for the given name
//A name w/o a key is represented by a list with an entry that is empty
IEnumerable<ImmutableArray<byte>> publicKeys = potentialGiverOfAccess.GetInternalsVisibleToPublicKeys(this.Name);
//EDMAURER look for one that works, if none work, then return the failure for the last one examined.
foreach (var key in publicKeys)
{
if (result == IVTConclusion.Match || result == IVTConclusion.OneSignedOneNot)
{
break;
}
result = PerformIVTCheck(key, potentialGiverOfAccess.Identity);
Debug.Assert(result != IVTConclusion.NoRelationshipClaimed);
}
AssembliesToWhichInternalAccessHasBeenDetermined.TryAdd(potentialGiverOfAccess, result);
return result;
}