解释: 我有一个巨大的项目,建立在一个坚实的框架,根据一些条件(简单地说,我们可以说它是一个真/假布尔),必须连接到数据库的函数的工作方式不同。简单来说,当它访问数据库时,它可以作为Web服务或直接的mysql连接访问。如何根据当前项目构建调用另一个依赖项的函数的依赖项?
现在我开始创建一个Xamarin项目(android),我想导入这个框架,但是,Xamarin不支持mysql ...虽然框架可以调用web服务来获取mysql数据, mysql代码在那里的事实阻止了我的xamarin项目的构建。我甚至不能使用“#if”,因为仍然存在对mysql dll的引用。我将如何去分裂我的类的dll文件,以便这个android项目不会加载mysql dll,只是调用Web服务的函数的一部分?功能看起来像 例子:
public static void InsertStuff(object stuff, bool useDirectMysql)
{
if (useDirectMysql)//I would like that this part only appears/works if its not the xamarin project, however, i can't use #if as the framework dll still has a reference to the mysql dll
{
//MySqlConnection connection = new MySqlConnection....
//insert stuff
}
else
{
//Insert stuff with a web service function.. (compatible with xamarin)
}
}
不,@ZdravkoDanev提供了正确的方法来做到这一点......你的答案*是一种解决方法:-) – Jcl
@Jcl不,我不是。他是面向对象框架的答案,而我的大多数框架只有静态方法。我不能做接口,不能。我确实有一些对象可以移动到另一个类中,但是,其80%的静态类和方法使用引用。 – Zananok