В этом примере IronPython, что делает символ @ и как он реализован?
http://www.ironpython.info/index.php/Using_Python_Classes_from_.NET/CSharp_IP_2.6
string code = @"
print 'test = ' + test
class MyClass:
def __init__(self):
pass
def somemethod(self):
print 'in some method'
def isodd(self, n):
return 1 == n % 2
";
Это '@' часть C# или это что-то добавленное IronPython? Если последнее, как вы это делаете в C#, какая-то перегрузка операторов (в основном я могу заставить '@' делать то, что я хочу, и т. Д.)? Пример реализации был бы отличным. Иначе, что здесь происходит?
3 ответа
@""
является дословным строковым литералом в C#. То есть экранирующие символы внутри него не интерпретируются.
В этом случае код Python хранится в C# code
строковая переменная, а затем компилируется в CompiledCode
из ScriptSource
используя ScriptEngine
(который сам по себе создан с Python.CreateEngine()
).
string path = @"C:\Sweet\now\I\can\use\backslashes\without\writing\them\all\twice.txt"
@ Является частью кода C#. Это означает, что строка является дословным строковым литералом. Строка содержит код Python для выполнения.