in Source/NuGetGallery.Operations/Common/ResourceHelper.cs [16:71]
public static string GetLocalizedString(Type resourceType, string resourceNames)
{
if (String.IsNullOrEmpty(resourceNames))
{
throw new ArgumentException(CommonResources.Argument_Cannot_Be_Null_Or_Empty, "resourceNames");
}
if (resourceType == null)
{
throw new ArgumentNullException("resourceType");
}
if (_cachedManagers == null)
{
_cachedManagers = new Dictionary<Type, ResourceManager>();
}
ResourceManager resourceManager;
if (!_cachedManagers.TryGetValue(resourceType, out resourceManager))
{
PropertyInfo property = resourceType.GetProperty("ResourceManager", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static);
if (property == null || property.GetGetMethod(nonPublic: true) == null)
{
throw new InvalidOperationException(
String.Format(CultureInfo.CurrentCulture, TaskResources.ResourceTypeDoesNotHaveProperty, resourceType, "ResourceManager"));
}
if (property.PropertyType != typeof(ResourceManager))
{
throw new InvalidOperationException(
String.Format(CultureInfo.CurrentCulture, TaskResources.ResourcePropertyIncorrectType, resourceNames, resourceType));
}
resourceManager = (ResourceManager)property.GetGetMethod(nonPublic: true)
.Invoke(obj: null, parameters: null);
}
var builder = new StringBuilder();
foreach (var resource in resourceNames.Split(';'))
{
string value = resourceManager.GetString(resource);
if (String.IsNullOrEmpty(value))
{
throw new InvalidOperationException(
String.Format(CultureInfo.CurrentCulture, TaskResources.ResourceTypeDoesNotHaveProperty, resourceType, resource));
}
if (builder.Length > 0)
{
builder.AppendLine();
}
builder.Append(value);
}
return builder.ToString();
}