是否有任何方法使一个方法具有多个实例
本文关键字:方法 一个 实例 任何 是否 | 更新日期: 2023-09-27 18:10:29
private void Extractions(string htmlFileName, int offLineFileNumber, bool onlineOffline)
{
if (onlineOffline == false)
{
OffLineDownload.offhtmlfiles();
page = OffLineDownload.OffLineFiles[offLineFileNumber];
byte[] bytes1 = File.ReadAllBytes(page);
page = Encoding.GetEncoding(1255).GetString(bytes1);
TextExtractor.GetDateTimeList(page);
StreamWriter w = new StreamWriter(@"C:'Temp'" + htmlFileName);//@"d:'rotterhtml'rotterscoops.html");
w.Write(page);
w.Close();
extractlinks.Links(@"C:'Temp'" + htmlFileName);
TextExtractor.ExtractText(@"C:'Temp'" + htmlFileName, newText);
}
else
{
client.Encoding = System.Text.Encoding.GetEncoding(1255);
page = client.DownloadString("http://rotter.net/scoopscache.html");
TextExtractor.GetDateTimeList(page);
StreamWriter w = new StreamWriter(@"d:'rotterhtml'rotterscoops.html");
w.Write(page);
w.Close();
extractlinks.Links(@"d:'rotterhtml'rotterscoops.html");
TextExtractor.ExtractText(@"d:'rotterhtml'rotterscoops.html", newText);
}
}
如果用户调用该方法,我希望他有两个选项来调用它与所有3个变量:
string htmlFileName, int offLineFileNumber, bool onlineOffline
或者不带变量调用它如果它是()那么它将自动为true
您可以使用可选参数来实现您想要的:
private void Extractions(string htmlFileName="", int offLineFileNumber=0, bool onlineOffline=true)
{
// implementation
}
然后你可以用需要的参数来调用你的方法,比如:
Extractions("myfile.txt", 1, true); // or
Extractions("myfile.txt", 1)
你可以"重载"这个方法。具有相同的名称和多个参数签名。
private void Extractions()
{
}
因为你的方法是一个"void",我不知道你的意思是"如果它是(),那么它将自动为真。"
除非你的意思是:
private void Extractions(string htmlFileName, int offLineFileNumber)
{
Extractions(htmlFileName, offLineFileNumber, true);
}
当然,你也可以将offLine参数设为可选参数,并将其默认值设为true。
private void Extractions(string htmlFileName, int offLineFileNumber, bool onlineOffLine = true)
{
....
}
是的,这叫做方法重载。
用不同的参数多次定义你的方法
private void Extractions(string htmlFileName, int offLineFileNumber, bool onlineOffline)
{
//All your logic here
}
重载的方法:
private void Extractions(string htmlFileName, int offLineFileNumber)
{
// Call the main method, passing true
Extractions(htmlFileName, offLineFileNumber, true);
}
请看这里:http://csharpindepth.com/Articles/General/Overloading.aspx