У меня есть исходный файл в C #, который содержит все типы misc для проекта в их собственном пространстве имен.Пример:
#define HELPER_FILE
using System;
namespace Helper
{
public struct NormalBalance : INormalType
{
public int Position { get; set; }
public float Normal { get; set; }
}
...
}
Затем другие файлы используют эти типы.Я хочу передать некоторые из них другим в моей команде, но им не нужны все файлы или типы, но некоторые структуры данных являются общими.
Например:
using System;
namespace DataPump
{
public class Pumper
{
private Helper.NormalBalance[] norm;
...
}
...
}
Но этот код зависит от предыдущего файла, содержащего тип Helper.NormalBalance.Я хочу, чтобы метод синхронизировал файлы так, чтобы один знал о существовании другого, как в C ++, где мы могли бы использовать директиву #define в файле, который объявляет тип, и если файл клиента не видел определенный токен, онусловно скомпилирует тип следующим образом:
(следующий код C ++)
class Pumper
{
private:
#ifndef HELPER_FILE
struct NormalBalance
{
int Position;
float Normal;
}
NormalBalance[] norm;
#else
Helper.NormalBalance[] norm;
#endif
...
}
...
}
К сожалению, область действия директивы #define в C # - это только файл, в котором она была объявлена.Есть ли способ сделать это в C #?Мне нужно знать, включен ли файл в проект или, по крайней мере, тип был определен ранее, а если нет, определить его снова.