Visual Studio - внедрить жестко закодированный номер / идентификатор в код - PullRequest
0 голосов
/ 08 октября 2019

Возможно ли что-то подобное? Используя Visual Studio (и это не зависит от языка, я полагаю, но я использую C #), предварительно компилируя, я хотел бы как-то внедрить и заменить значения уникальным идентификатором (или число в порядке!).

Например1003 *

public void HelloWorld (
{
    {VARIABLE_FOR_UNIQUE_ID_REPLACED_AT_COMPILE_TIME}
    var someVar = "Error Code#";

    console.print(someVar + {VARIABLE_FOR_UNIQUE_ID_REPLACED_AT_COMPILE_TIME})

}

Поэтому для каждой функции у меня будет {VARIABLE_FOR_UNIQUE_ID_REPLACED_AT_COMPILE_TIME}, и он будет уникальным идентификатором этой функции в каждом файле во всем решении. Это не должно быть ничего сложного, например, GUID, в идеале это просто добавочное число при добавлении, но оно не изменяется после добавления. Этот номер используется для идентификации функции для кодов ошибок - поэтому я могу отслеживать, откуда произошла ошибка, даже если сообщение является общим «что-то пошло не так», например «Код ошибки # 445, что-то пошло не так», «Код ошибки # 6778что-то пошло не так ".

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

В C # вы можете получить имя метода из кода, например, так:

public void HelloWorld()
{
    ShowError();
}

static void ShowError([System.Runtime.CompilerServices.CallerMemberName] string caller = null)
{
    Console.WriteLine("Error Code for " + caller);
}

Будет напечатано: «Код ошибки для HelloWorld».

0 голосов
/ 08 октября 2019

Я думаю, вы должны сами справиться с этим.

Подумайте об этом:

Если вы получаете сообщения об ошибках, в которых говорится, что «Код ошибки # 445 что-то пошло не так», то сначала вам нужносделать, это найти в вашей базе кода «445», чтобы найти исходный код - но вы не найдете ничего в описываемой вами схеме, поскольку фактический источник ошибки просто скажет {VARIABLE_FOR_UNIQUE_ID_REPLACED_AT_COMPILE_TIME}.

Еслис другой стороны, вы просто управляете этим сами и пишете что-то вроде:

int errorCode = 445;

... и всегда сохраняете тот же шаблон в своем коде, тогда в ситуации отладки, где вам нужно найти 445, вы на самом деле можетепоищите в вашей базе кодов 445 и найдите место, откуда исходит ошибка.

...