Для пользователей C ++ / CLI, вот ответ @Mattias S '(который работает для меня):
using namespace System;
using namespace System::IO;
using namespace System::Reflection;
static Assembly ^LoadFromSameFolder(Object ^sender, ResolveEventArgs ^args)
{
String ^folderPath = Path::GetDirectoryName(Assembly::GetExecutingAssembly()->Location);
String ^assemblyPath = Path::Combine(folderPath, (gcnew AssemblyName(args->Name))->Name + ".dll");
if (File::Exists(assemblyPath) == false) return nullptr;
Assembly ^assembly = Assembly::LoadFrom(assemblyPath);
return assembly;
}
// put this somewhere you know it will run (early, when the DLL gets loaded)
System::AppDomain ^currentDomain = AppDomain::CurrentDomain;
currentDomain->AssemblyResolve += gcnew ResolveEventHandler(LoadFromSameFolder);
Примерно так:
var arr = ...;
var filtered = arr.filter(word => word.length === 32);
Редактировать: это может быть плохой идеей, если вы хотите анализировать только GUID. Возможно, такое имя, как «Ручика», также имеет длину 32 символа. Возможно, рассмотрите возможность использования регулярных выражений.