Отключить Turbo Boost на Core i7 Mac?

Нет никакого способа непосредственно использовать класс C++ в коде C#. Можно использовать PInvoke косвенным способом получить доступ типу.

основной шаблон - то, что для каждой функции членства в классе Foo, создайте связанную функцию лица, не являющегося членом какой-либо организации, которая звонит в функцию членства.

class Foo {
public:
  int Bar();
};
extern "C" Foo* Foo_Create() { return new Foo(); }
extern "C" int Foo_Bar(Foo* pFoo) { return pFoo->Bar(); }
extern "C" void Foo_Delete(Foo* pFoo) { delete pFoo; }

Теперь это - вопрос PInvoking эти методы в Ваш код C#

[DllImport("Foo.dll")]
public static extern IntPtr Foo_Create();

[DllImport("Foo.dll")]
public static extern int Foo_Bar(IntPtr value);

[DllImport("Foo.dll")]
public static extern void Foo_Delete(IntPtr value);

, оборотная сторона, у Вас будет неловкий IntPtr для раздавания, но это - несколько простой вопрос для создания класса обертки C# вокруг этого указателя для создания более применимой модели.

, Даже если Вы не владеете этим кодом, можно создать другой DLL, который обертывает исходный DLL и обеспечивает небольшой уровень PInvoke.

28
задан Pinki 2 March 2011 в 23:03
поделиться

5 ответов

Используйте Arrays.asList :

String[] myResArray = getResources().getStringArray(R.array.my_array);
List<String> myResArrayList = Arrays.asList(myResArray);

Этот список будет неизменным, поэтому, если вам нужен изменяемый список, просто выполните:

List<String> myResMutableList = new ArrayList<String>(myResArrayList);
78
ответ дан 20 November 2019 в 01:50
поделиться

Я сделал это следующим образом:

string.xml:

Определить Массив строк :

 <string-array name="my_string_array">
        <item>Test 1</item>
        <item>Test 2</item>
        <item>Test 3</item>
        <item>Test 4</item>
        <item>Test 5</item>
        <item>Test 6</item>

    </string-array>

В Activity.class / Fragment.class :

List<String> myArrayList = Arrays.asList(getResources().getStringArray(R.array.my_string_array));

Готово

34
ответ дан 20 November 2019 в 01:50
поделиться

Модификация ответа Клауса, чтобы получить ArrayList<String>:

ArrayList<String> myResArrayList = new ArrayList<String>();
Resources res = getResources();
Collections.addAll(myResArrayList, res.getStringArray(R.array.myResArray));
8
ответ дан 20 November 2019 в 01:50
поделиться

Не совсем уверен, что вы хотите, но это может быть стоит прочитать: http://developer.android.com/guide/topics/resources/string-resource.html

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
    </string-array>
</resources>

Как получить массив в вашем приложении с помощью кода:

Resources res = getResources();
String[] planets = res.getStringArray(R.array.planets_array);
7
ответ дан 20 November 2019 в 01:50
поделиться
Price_array in strings.xml is assigned to Arraylist

private ArrayList<String> price_unit;

price_unit= new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.Price_array))); 
3
ответ дан 20 November 2019 в 01:50
поделиться
Другие вопросы по тегам:

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