创建符合()=>的函数FUNC

时间:2017-05-07 19:42:11

标签: c# unity3d invoke

我想创建一个简单的函数作为统一的参数,像这样(在c#中):

Invoke((() => { alarm = true; }), 3 );

但这不是统一的,它说:你不能将lambda表达式转换成字符串,因为invoke需要一个字符串。任何解决方案?

1 个答案:

答案 0 :(得分:1)

阅读它,drawLine()需要import javax.swing.SwingUtilities; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.BorderFactory; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; public class SwingPaintDemo2 { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { createAndShowGUI(); } }); } private static void createAndShowGUI() { JFrame f = new JFrame("Line Test"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.add(new MyPanel()); f.pack(); f.setVisible(true); } } class MyPanel extends JPanel { public int x = 50; public MyPanel() { setBorder(BorderFactory.createLineBorder(Color.black)); } public Dimension getPreferredSize() { return new Dimension(250,250); } public void paintComponent(Graphics g) { super.paintComponent(g); //while(x<250){ g.drawLine(0,x,250,x); g.drawLine(x,0,x,250); //x = x+50;} } } \r\n。它可能使用下面的反射,因此它需要稍后调用方法的字符串名称。这意味着您无法传递委托或lambda,但必须使用命名方法:

Invoke

请参阅: