Нет.Вы не сможете определить, является ли строка литералом или нет.
Простая причина: литералы, строковые переменные, интернированные строки всех видов ... каждый из них является ссылкой на систему.Строка.И все строки при передаче по значению загружаются в стек перед вызовом функции, который их использует (и, таким образом, не связаны с именем любой переменной, которая на них ссылается).К тому времени, когда функция вызывается, литерал и переменная выглядят совершенно одинаково и будут обрабатываться точно так же, когда передаются по значению.может проверить адрес объекта.Если адрес находится в адресном пространстве сборки, он почти наверняка является некоторой константой.Но это ненадежно (так как строки с литералами выглядят так же, как литералы), крайне хакерское, безобразное и, прежде всего, ненужное для любых целей, о которых я могу думать.
Вам, вероятно, следует пересмотреть, как вы делаете то, что делаете, если вам нужно заботиться о том, является ли строка литералом или нет.