Несколько выравнивают строковый литерал в Actionscript 3

Мне нравится использовать эти [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 позволяет мне определять объем вызова только к потоку рассматриваемое предотвращение грязной проблемы доступа к данным через потоки.

8
задан Community 23 May 2017 в 02:01
поделиться

3 ответа

Вот один пример с этого сайта: Многострочные строки в 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();
28
ответ дан 3 November 2019 в 12:50
поделиться

вау, очень умно ... на самом деле, я думаю, что это даже не сработает в большинстве браузеров, когда дело доходит до JavaScript ...

я просто хотел исправить объяснение того, что на самом деле происходит: AS3 позволяет встроенные объявления xml через xml-литералы (которые должны быть частью E4X) ... что вы делаете, это объявляете литерал XML и затем конвертируете его в String ... аналогичным образом можно написать:

6
ответ дан 3 November 2019 в 12:50
поделиться

Это отлично сработало для меня:

private var myString:String = "Lorem ipsum dolor sit amet, consectetur adipiscing elit."+"\n"+ "Maecenas dui lacus, sollicitudin nec laoreet a, vestibulum a";
1
ответ дан 3 November 2019 в 12:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: