我需要一个小模式方向.C#的新手.
我正在使用包装Web服务的第三方开发工具包.我处理的两个特定类虽然相对类似,但是在devkit中有两个不同的命名空间,并且没有共同的基类.但是,我想为它们编写一个针对它们的通用接口.我随意地将一个基本上包装了包装器的实现组合在一起,但我觉得由于不断的类型转换,我认为它不是最有效的方法.
我一直在挖掘关于适配器,接口,扩展方法等的文章.但是我的运行时间很少,所以如果我能够在一个方向上推动,那将非常感激.
using ThirdParty.TypeA.Employee;
using ThirdParty.TypeB.Employee;
public class Employee
{
private object genericEmployee;
private EmployeeType empType;
public enum EmployeeType
{
TypeA = 0;
TypeB = 1;
}
public Employee(Object employee, EmployeeType type)
{
genericEmployee = employee;
empType = type;
}
public String Name
{
if (empType == EmployeeType.TypeA)
return (ThirdParty.TypeA.Employee)genericEmployee.Name;
else
return (ThirdParty.TypeB.Employee)genericEmployee.Name;
}
public String Age
{
if (empType == EmployeeType.TypeA)
return (ThirdParty.TypeA.Employee)genericEmployee.Age;
else
return (ThirdParty.TypeB.Employee)genericEmployee.Age;
}
}
Run Code Online (Sandbox Code Playgroud)
第2版:
class EmployeeTypeAAdapter : TypeA, IEmployeeAdapter
{
TypeA _employee;
public …Run Code Online (Sandbox Code Playgroud) 我不能为我的生活设法覆盖主要的商店页面.
我的理解是它是archive-product.php
我试图将其复制到我在主题根目录中创建的Woocommerce目录中并进行修改.没有骰子.
我还试图直接在Woocommerce插件目录中修改它.也没有骰子.
我甚至在两个位置(woocommerce目录和我的主题模板目录)中的archive-product.php文件名之前添加了一个下划线,试图希望BREAK它 - 只是为了看看我是否可以影响一些变化 - 而这似乎也没有任何影响.
我没有运行任何缓存插件和我试图修改的所有其他Woocommerce模板文件,直到这一点工作正常.
有任何想法吗?
我已经组装了一个链接,可以将变量产品添加到我的购物车中,但是我不知道如何在不重新加载页面的情况下"刷新"购物车.我的猜测是我没有正确地将这个AJAX添加到购物车请求中,因此,不会调用woocommerce_add_to_cart_fragments(我相信我的购物车HTML将被放置以进行刷新).
$addToCartLink = '?add-to-cart=' . $prod->id . '&variation_id=' . $var_id . '&attribute_pa_quantity-attribute=' . $var_quantity;
jQuery.get($addToCartLink, function() {
//refreshCart();
});
Run Code Online (Sandbox Code Playgroud)
如果有人能指出我正确的方向,我将非常感激.变量/ AJAX/WooCommerce文档似乎相当稀疏.
php ×2
woocommerce ×2
wordpress ×2
ajax ×1
c# ×1
interface ×1
jquery ×1
web ×1
web-services ×1
wrapper ×1