'Удалите посредника' рефакторинг IntelliJ в пустом интерфейсе

Просто чтобы дополнить ответ Interjay

  1. Мне пришлось включить shlobj.h, чтобы использовать SHGetFolderPath.

  2. Часто вам может понадобиться прочитать файл из appdata, для этого вам нужно использовать функцию pathAppend (для этого требуется shlwapi.h).

#include 
#pragma comment(lib,"shlwapi.lib")
#include "shlobj.h"

TCHAR szPath[MAX_PATH];
// Get path for each computer, non-user specific and non-roaming data.
if ( SUCCEEDED( SHGetFolderPath( NULL, CSIDL_COMMON_APPDATA, NULL, 0, szPath ) ) )
{
    // Append product-specific path
    PathAppend( szPath, _T("\\My Company\\My Product\\1.0\\") );
}

См. здесь для более подробной информации.

6
задан Jonik 5 November 2009 в 16:19
поделиться

2 ответа

​​

Я думаю, что вам нужен рефакторинг "Перенос типов".

2
ответ дан 10 December 2019 в 02:49
поделиться

Глядя на сообщение в блоге, объясняющее рефакторинг «Удаление посредника» в IDEA, я думаю, вы просто не можете использовать его для этого. Это просто для «замены всех вызовов методов делегирования эквивалентными прямыми вызовами».

(На мгновение я подумал, что другой рефакторинг, «Использовать интерфейс, где это возможно», может помочь, но я не смог заставить его работать в моем простом тестовом примере.)

2
ответ дан 10 December 2019 в 02:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: