我想做这样的事情。如果定义了DEBUG,则命名空间为Test,或命名空间为TestB。请参阅下面的示例代码。我能做到这一点还是你有更好的想法来实现这一目标?提前谢谢!
# if DEBUG
[SomekindofAttribute(Namespace = "Test")]
#endif
namespace TestB
{
public class Program
{}
}
答案 0 :(得分:4)
为什么不在命名空间声明本身中添加条件?
如果我理解你的问题,那么你可以使用下面的代码。
(DT_DATE)(SUBSTRING(FILE_DATE,1,2) + "-" +
SUBSTRING(FILE_DATE,4,2) + "-" + SUBSTRING(FILE_DATE,7,2))
请确认这是你想要的。
答案 1 :(得分:1)
你可以这样做:
JMenuItem mntmOpen = new JMenuItem("Open");
mntmOpen.setIcon(new ImageIcon(Fucksakes.class.getResource("/Icons/Open.png")));
mntmOpen.setFont(new Font("Roboto Condensed", Font.PLAIN, 14));
mnFile.add(mntmOpen);
mntmOpen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser broswer = new JFileChooser();
int result = broswer.showOpenDialog(contentPane);
if (result == JFileChooser.APPROVE_OPTION) {
File selectFile = broswer.getSelectedFile();
try {
Scanner sc = new Scanner(selectFile);
while (sc.hasNext()) {
lineNo++;
process(sc.nextLine());
}
textArea.append(selectFile + "");
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(contentPane, "Cannot Open file");
}
}
}
});
public static void process(String s) {
String[] a = s.split(" ");
// Strings can be used in switch statements in Java 7 and later versions
try {
switch (a[0]) {
case "COLOR":
currentColor = new Color(Integer.parseInt(a[1]), Integer.parseInt(a[2]), Integer.parseInt(a[3]));
break;
default:
System.out.println("Input Instruction Not Recognized");
}
虽然这看起来像非常坏主意。使用#if DEBUG
namespace TestB
#else
namespace Test
#endif
{
public class Program { }
}
的所有内容也必须为其Program
声明执行相同的预处理程序指令。