Проблема должна быть решена путем обновления до последней версии IntelliJ IDEA .
Если это по-прежнему не помогает, пожалуйста, свяжитесь со службой поддержки , приложив журналы .
If I were doing it I would search all files for the string "( this " -- your search string may differ based on your formatting options.
EDIT: After a little bit of experimentation, the following seems to work for me with high precision using "Find in Files" (Ctrl-Shift-F)
\( this [A-Za-z]
" (minus quotes, of course)Solution wide text search with a regex matching your coding style. Something like "( *this +"
(added the first optional space to get some error tollerance).
Может быть, можно использовать код из этой статьи о , как найти методы расширения, нацеленные на объект ? Можно, например, немного переписать и использовать его для вывода всех методов расширения, а не только тех, которые нацелены на объект
.
I'd look at the generated assemblies using reflection; iterate through the static types looking for methods with [ExtensionAttribute]
...
static void ShowExtensionMethods(Assembly assembly)
{
foreach (Type type in assembly.GetTypes())
{
if (type.IsClass && !type.IsGenericTypeDefinition
&& type.BaseType == typeof(object)
&& type.GetConstructors().Length == 0)
{
foreach (MethodInfo method in type.GetMethods(
BindingFlags.Static |
BindingFlags.Public | BindingFlags.NonPublic))
{
ParameterInfo[] args;
if ((args = method.GetParameters()).Length > 0 &&
HasAttribute(method,
"System.Runtime.CompilerServices.ExtensionAttribute"))
{
Console.WriteLine(type.FullName + "." + method.Name);
Console.WriteLine("\tthis " + args[0].ParameterType.Name
+ " " + args[0].Name);
for (int i = 1; i < args.Length; i++)
{
Console.WriteLine("\t" + args[i].ParameterType.Name
+ " " + args[i].Name);
}
}
}
}
}
}
static bool HasAttribute(MethodInfo method, string fullName)
{
foreach(Attribute attrib in method.GetCustomAttributes(false))
{
if (attrib.GetType().FullName == fullName) return true;
}
return false;
}
Вы просто хотите проверить исходный код (просто найдите (это ...
в файлах) или вашу запущенную программу путем отражения (в данном случае это это обсуждение может вам помочь)?