ASP.NET互换功能

ASP.NET互换功能,asp.net,function,modularity,Asp.net,Function,Modularity,假设我有两个共享基本代码的站点。它们的大多数代码都完全匹配,但有几个函数不匹配。例如,如果这两个站点用于确定当前用户是否使用了可接受的新Web浏览器的方法不同,该怎么办。因此,isGoodBrowser()返回true或false,但站点具有此函数的不同版本。如何使这一个函数可以互换,同时保持其余代码不变?我想在它自己的文件中包含这样一个函数。谢谢。制作三个组件: 包含共享的所有代码的程序集 包含特定于第一个网站的功能的程序集 包含特定于第二个网站的功能的程序集 从两个网站项目中引用公共程序集

假设我有两个共享基本代码的站点。它们的大多数代码都完全匹配,但有几个函数不匹配。例如,如果这两个站点用于确定当前用户是否使用了可接受的新Web浏览器的方法不同,该怎么办。因此,isGoodBrowser()返回true或false,但站点具有此函数的不同版本。如何使这一个函数可以互换,同时保持其余代码不变?我想在它自己的文件中包含这样一个函数。谢谢。

制作三个组件:

  • 包含共享的所有代码的程序集
  • 包含特定于第一个网站的功能的程序集
  • 包含特定于第二个网站的功能的程序集
  • 从两个网站项目中引用公共程序集


    您甚至可以在共享程序集中为
    isGoodBrowser()
    指定一个接口,并在特定于站点的程序集中以不同方式实现它。然后手动或通过IoC容器(如Unity)注入适当的实现。

    您能将共享方法放在单独的程序集中吗?如果代码不相同且不能在其他地方重用,那么首先不要共享它。如果在“浏览器”的构造函数中对象您有一个属性集,该属性集由一个传递的变量设置,该变量决定此浏览器所属的站点,并从中使isGoodBrowser()函数执行这样或那样的操作。我试过创建一个基本类(调用isGoodBrowser()),一个IGoodBrowser接口,说明它使用isGoodBrowser(),以及第三个具有不同isGoodBrowser()定义的可互换文件。我尝试过此设置,但BasicClass似乎无法访问isGoodBrowser()。我最终没有使用您的建议,但我想检查它是否是最佳答案,因为它对我有意义。非常感谢。