繁体   English   中英

将引用传递给C#静态类

[英]Passing a Reference to a C# Static Class

我正试图开始在C#项目中实现单元测试,该项目使用AWS S3存储桶。

尽管只是简单地进行了简要介绍,但我明白,几乎所有项目外部的东西都必须被嘲笑以“保证”可预测的结果。

简而言之,我试图将一个静态类(既抽象又密封)作为参数,将参数限制为我已定义的接口(目前仅包含AWSClientFactory.CreateAmazonS3Client(string, string, RegionEndpoint)

但是,我无法弄清楚如何通过引用( AWSClientFactory )传递AWSClientFactory ,并且通过广泛的研究,我看不到任何这样做的方法。

由于我需要通过同一个方法传递云另一个提供者(它将模仿S3 API),我认为这对于这个和通过接口实现的传递模拟类都是可接受的解决方案。

使用相同类型的结构实现此方法的最佳方法是什么,从而从不同的静态类调用相同的方法?

您无法获取静态类的实例。 因此,您无法获得对它的引用,因为没有任何内容可供参考。 这就是为什么你不应该滥用静态类,如果你打算稍后编写单元测试。

要实现您想要的,您可以创建自己的界面,并进行此界面的一些实现。 其中一个实现将包装AWSClientFactory

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM