Хм, это должно быть хорошо ... ты уверен он не компилируется?
Пример кода:
using System;
class Test
{
const string MyConstant = "Foo" + "Bar" + "Baz";
static void Main()
{
Console.WriteLine(MyConstant);
}
}
Я предполагаю, что в вашем реальном коде вы включаете в конкатенацию некоторые неконстантные выражения.
Например, это нормально:
const string MyField = "Field";
const string Sql = "SELECT " + MyField + " FROM TABLE";
но это не так:
static readonly string MyField = "Field";
const string Sql = "SELECT " + MyField + " FROM TABLE";
Это попытка использовать неконстантное выражение (MyField
) в объявлении константного выражения - и это не разрешено.