объем Директивы препроцессору c#

просто сделайте findViewById(R.id.outbound_dashboard_hourly_queued) и затем загрузите фрагмент, если представление не Null, сохраните проверку if.

public void loadFragment(Fragment fragment){
    FragmentManager fragmentManager = Objects.requireNonNull(getActivity()).getSupportFragmentManager();

    // Begin Fragment transaction.
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();// Replace the layout holder with the required Fragment object.
    View yourView= findViewById(R.id.outbound_dashboard_hourly_queued);
    if(yourView!=null){
    fragmentTransaction.replace(R.id.outbound_dashboard_hourly_queued, fragment);
    // Commit the Fragment replace action.
    fragmentTransaction.commit();
  }

}
8
задан Brian Tompsett - 汤莱恩 8 July 2016 в 13:25
поделиться

5 ответов

Как Chris сказал, объемом #define является просто файл. (Стоит отметить, что это не то же как "класс" - если у Вас есть частичный тип, это может состоять из двух файлов, одному из которых определили символ и один из которых не делает!

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

14
ответ дан 5 December 2019 в 08:55
поделиться

Из MSDN его объемом является файл

3
ответ дан 5 December 2019 в 08:55
поделиться

Хотя мог Вы не спускаться по маршруту Фиктивных объектов, Насмешки крыла. Носороги?

1
ответ дан 5 December 2019 в 08:55
поделиться

Да, поскольку Chris упомянул, его объемом является целый файл. Можно использовать определенное ключевое слово где угодно в файле.

т.е.;

#define something
... some code ...

и в любом методе, теле класса или пространстве имен, Вы могли использовать его как;

#if something
  ... some conditional code ...
#else
  ... otherwise ...
#endif
1
ответ дан 5 December 2019 в 08:55
поделиться

Область действия директивы препроцессора начинается, когда она анализируется из источника, и сохраняется до тех пор, пока не будет указано иное. Если вы действительно хотите ограничить область действия директивы препроцессора, используйте объявление undef, которое отключается, когда вы закончите с ним.

#include <iostream>
using namespace std ;
int main()
{
  #define someString "this is a string"
  cout<<someString<<endl;
  #undef someString  // scope of someString ends here
  cout<<someString<<endl; //this causes a compile error
  return 0 ;
}
0
ответ дан 5 December 2019 в 08:55
поделиться
Другие вопросы по тегам:

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