我试图使用另一个类的方法或函数,这就是我的代码从我想要使用函数的类看起来的样式。
public class Crypting
{
internal static void EncryptFile(string inputFile, string outputFile)
{
// My code is in here
}
所以我尝试在我的主要表单中使用此函数。
private void primeButton14_Click(object sender, EventArgs e)
{
Crypting.EncryptFile();
}
它被标记为红色并且表示"没有超载的方法'加密文件'取0个参数"
删除string inputFile, string outputFile
时
它没有得到红色标记但是我需要这个函数的2个参数才能工作。
如何在主窗体中使用此功能?提前致谢。 :)
答案 0 :(得分:1)
信息很清楚:你必须提供参数:
EncryptFile(string inputFile, string outputFile) // see the two arguments, inputFile and outputFile?
称它为例如像这样:
Crypting.EncryptFile(@"c:\myinputfile.txt", @"c:\myoutputfile.txt");
答案 1 :(得分:0)
您的函数EncryptFile需要两个参数来处理,如您指定的那样,即输入文件和输出文件位置。你需要在调用方法时传递它们。比如Crypting.EncryptFile("somestring", "somestring");
答案 2 :(得分:0)
要添加@roryap在此处说的内容:https://stackoverflow.com/a/34004763/327079 - 在定义方法时,您还可以为方法定义参数的默认值:
public class Crypting
{
internal static void EncryptFile(string inputFile = @"c:\input.txt", string outputFile = @"c:\output.txt")
{
Console.WriteLine("inputFile: {0} outputFile: {1}", inputFile, outputFile);
}
}
然后,如果您使用它,您可以获得以下结果:
Crypting.EncryptFile(); -> inputFile: c:\input.txt outputFile: c:\output.txt
Crypting.EncryptFile(@"c:\otherInputFile.txt"); -> inputFile: c:\otherInputFile.txt outputFile: c:\output.txt
Crypting.EncryptFile(@"c:\otherInputFile.txt", @"c:\otherOutputFile.txt"); -> inputFile: c:\otherInputFile.txt outputFile: c:\otherOutputFile.txt
很难判断它是否适用于您的实际案例,但这就是语言为您提供的。