C# VNCSharp传递静态密码
我正在构建一个简单的C# VNCSharp传递静态密码,c#,.net,C#,.net,我正在构建一个简单的winforms应用程序,它以一种网格格式显示多个VNC会话。每个VNC服务器的密码都是相同的,我试图将密码存储为字符串,并从每个VNCSharp连接调用它 我当前的解决方案是给我一个“非发票成员SecurePass.pass不能像方法一样使用”。解决这个问题的最好办法是什么 namespace AutomatedGateViewer { public class SecurePassword { public static string p
winforms
应用程序,它以一种网格格式显示多个VNC
会话。每个VNC
服务器的密码都是相同的,我试图将密码存储为字符串,并从每个VNCSharp连接调用它
我当前的解决方案是给我一个“非发票成员SecurePass.pass不能像方法一样使用”。解决这个问题的最好办法是什么
namespace AutomatedGateViewer
{
public class SecurePassword
{
public static string pass = "P455W0rD";
}
public partial class AGSV : Form
{
public AGSV()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Kiosk1VNC.GetPassword = new AuthenticateDelegate(SecurePassword.pass());
Kiosk1VNC.Connect("172.168.110.90");
Kiosk2VNC.GetPassword = new AuthenticateDelegate(SecurePassword.pass());
Kiosk2VNC.Connect("172.168.110.99");
}
}
}
您需要将委托传递给GetPassword
属性。最重要的是:
因此,我们需要一个lambda表达式,它不接受任何参数并返回字符串。很简单:
Kiosk1VNC.GetPassword = new AuthenticateDelegate(() => SecurePassword.pass);
这可能不起作用(我没有打开VS窗口)。如果不是,请使用以下选项:
Kiosk1VNC.GetPassword = () => SecurePassword.pass;
你的问题是什么?@RobertBaron我已经用更多信息编辑了我的问题。SecurePassword.pass
不是一种方法,正如错误消息所示。因此,请删除括号。True,然后我将得到预期的方法名作为我的错误。我相信我需要做一个labdaexpression,但我无法控制它。太好了。我正要修改我原来的问题。现在完全有道理了。非常感谢
Kiosk1VNC.GetPassword = () => SecurePassword.pass;