Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中调用静态方法_C#_Visual Studio_Nfc - Fatal编程技术网

C# 在C中调用静态方法

C# 在C中调用静态方法,c#,visual-studio,nfc,C#,Visual Studio,Nfc,我使用pGina软件实现了一个插件,允许用户通过扫描NFC标签来验证计算机中的用户名/密码 我使用了一个我发现调用的程序来读取标签ID。每次扫描标签时,程序都会将ID写入文本文件,并检查ID是否与字符串上设置的ID相同 if (userInfo.Username.Contains("hello") && userInfo.Password.Contains("pGina") && text.Equals("UID = 0x04 82 EC BA 7A 48

我使用pGina软件实现了一个插件,允许用户通过扫描NFC标签来验证计算机中的用户名/密码

我使用了一个我发现调用的程序来读取标签ID。每次扫描标签时,程序都会将ID写入文本文件,并检查ID是否与字符串上设置的ID相同

if (userInfo.Username.Contains("hello") && userInfo.Password.Contains("pGina") 
  && text.Equals("UID  = 0x04 82 EC BA 7A 48 80"))
该插件设置为查找读取ID PC/SC包装的.exe文件。一切正常。但是,我不希望读卡器程序位于不同的文件中。我希望所有的东西都在插件文件中

我创建了一个方法并从执行标记ID runme读取的包装器中复制了代码,但我不确定如何用我创建的方法替换调用.exe文件的行

ProcessStartInfo ps=新建ProcessStartInfo@C:\Users\Student\Desktop\CSharpPCSC\CSharpPCSC\ExamplePCSCReader\bin\Release\ExamplePCSCReader.exe

有什么建议吗?我是C的新手

下面是我的插件代码,方法包含读取ID的代码


您已经创建了一个名为PluginImpl的类,并在该类中声明了runme方法。要从任何地方调用该方法,需要编写PluginImpl.runme

因为您已经将类放在了名称空间HelloPlugin中——如果调用的*.cs文件位于不同的名称空间中,那么您需要在顶部使用HelloPlugin指令

就这些

我可能误解了你的问题,如果是这样,请重新回答你的问题并给我留言

如果你想更换线路

ProcessStartInfo ps = new ProcessStartInfo(
         @"C:\Users\Student\Desktop\CSharpPCSC\CSharpPCSC\"
        +"ExamplePCSCReader\bin\Release\ExamplePCSCReader.exe");
如果使用方法调用,则需要如下内容

ProcessStartInfo ps = runme();
因为您是从类中调用静态方法,所以不需要PluginImpl。前缀

好的,现在它会抱怨runme没有返回ProcessStartInfo。你需要改变runme,这样它就可以了。ProcessStartInfo的任何子类都可以

static ProcessStartInfo runme()
{
   // ... Some code

   ProcessStartInfo toReturn = new ProcessStartInfo( //...
   );

   // ... More code

   return toReturn;
}

使用PluginImpl.runme后,如何替换ProcessStartInfo来调用该方法。ProcessStartInfo ps=新建ProcessStartInfo@C:\Users\Student\Desktop\CSharpPCSC\CSharpPCSC\ExamplePCSCReader\bin\Release\ExamplePCSCReader.exe@我希望我最近的编辑已经解决了你的问题。如果仍然不清楚,请告诉我。
static ProcessStartInfo runme()
{
   // ... Some code

   ProcessStartInfo toReturn = new ProcessStartInfo( //...
   );

   // ... More code

   return toReturn;
}