Мне нравится использовать эти [ThreadStatic]
атрибут в сочетании с потоком и основанным на стеке программированием. Например, если я хочу значение, которое я хочу совместно использовать с остальной частью последовательности вызова, но я хочу сделать это из полосы (т.е. за пределами параметров вызова), я мог бы использовать что-то вроде этого.
class MyContextInformation : IDisposable {
[ThreadStatic] private static MyContextInformation current;
public static MyContextInformation Current {
get { return current; }
}
private MyContextInformation previous;
public MyContextInformation(Object myData) {
this.myData = myData;
previous = current;
current = this;
}
public void Dispose() {
current = previous;
}
}
Позже в моем коде, я могу использовать это для предоставления контекстной информации из полосы людям ниже моего кода. Пример:
using(new MyContextInformation(someInfoInContext)) {
...
}
атрибут ThreadStatic позволяет мне определять объем вызова только к потоку рассматриваемое предотвращение грязной проблемы доступа к данным через потоки.
Вот один пример с этого сайта: Многострочные строки в ActionScript 3
Поскольку ActionScript основан на javascript, вы можете использовать теги cdata.
private var myString:String = ( <![CDATA[
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Maecenas dui lacus, sollicitudin nec laoreet a, vestibulum a
odio. Sed et lorem mauris, non porttitor ligula. Aliquam
convallis dolor rutrum justo semper nec aliquet orci....
]]> ).toString();
вау, очень умно ... на самом деле, я думаю, что это даже не сработает в большинстве браузеров, когда дело доходит до JavaScript ...
я просто хотел исправить объяснение того, что на самом деле происходит: AS3 позволяет встроенные объявления xml через xml-литералы (которые должны быть частью E4X) ... что вы делаете, это объявляете литерал XML
и затем конвертируете его в String
... аналогичным образом можно написать:
Это отлично сработало для меня:
private var myString:String = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."+"\n"+ "Maecenas dui lacus, sollicitudin nec laoreet a, vestibulum a";