gpt4 book ai didi

c# - 如何创建两个行为不同但接收相同数据类型的构造函数?

转载 作者:太空狗 更新时间:2023-10-29 23:56:16 24 4
gpt4 key购买 nike

public class Parser
{
Downloader download = new Downloader();
HtmlDocument Page;

public Parser(string MovieTitle)
{
Page = download.FindMovie(MovieTitle);
}

public Parser(string ActorName)
{
Page = download.FindActor(ActorName);
}
}

我想创建一个构造函数,它允许使用此库的其他开发人员轻松创建一个 Parser 对象,并在创建完成后立即加载相关的 HtmlDocument。

问题在于构造函数不能以相同类型的参数存在两次。当然可以分辨出这两个参数之间的逻辑差异,但计算机不能。

如何处理?

最佳答案

改用几个static方法:

public class Parser
{
Downloader download = new Downloader();
HtmlDocument Page;

private Parser() { } // prevent instantiation from the outside

public static Parser FromMovieTitle(string MovieTitle)
{
var newParser = new Parser();
newParser.Page = newParser.download.FindMovie(MovieTitle);
return newParser;
}

public static Parser FromActorName(string ActorName)
{
var newParser = new Parser();
newParser.Page = newParser.download.FindActor(ActorName);
return newParser;
}
}

关于c# - 如何创建两个行为不同但接收相同数据类型的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3027310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com