如何在一个实例上访问类?

胡说八道

我的应用程序的服务层中有多个类。假设我需要从控制器中的 AbcService.cs 访问某些方法。然后,我需要从同一个控制器中的 XyzService.cs 访问一些方法。然后另一个.......为此,我需要在构造函数中分别创建每个服务类的对象。此外,如果我需要在另一个控制程序中访问这些方法,我将再次创建 AbcService、XyzService 等对象。我希望有一个实例可以让我访问所有服务类的方法。就像是:

generalService.AbcService.MethodName();
generalService.AbcService.MethodName();

我如何以最好的方式做到这一点?

不幸的是,在 C# 中,您不能同时从两个类继承,例如

public class CombinedService : AbcService, XyzService {

}

不可能。

但是,您可以使用静态方法使每个服务只有一个实例,如下所示:

public static class ServiceManager {
    // The variable holding the instance
    private static AbcService _abcService = null;
    // Access to the instance and single instance creator
    public static AbcService AbcServiceInstance {
        get {
            if (_abcService == null) {
                // Create your Instance here
                _abcService = new AbcService();
            }
            return _abcService;
        }
    }

    // The variable holding the instance
    private static XyzService _xyzService = null;
    // Access to the instance and single instance creator
    public static XyzService XyzServiceInstance {
        get {
            if (_xyzService == null) {
                // Create your Instance here
                _xyzService = new XyzService();
            }
            return _xyzService;
        }
    }
}

因为它们是静态的,所以你可以从代码中的任何地方访问它们,只需像这样调用静态类属性:

ServiceManager.AbcServiceInstance.SomeMethod();
ServiceManager.XyzServiceInstance.SomeMethod();

您还可以像这样缩短实例化和访问器:

private static AbcService _abcService = new AbcService();
public static XyzService XyzServiceInstance {
    get { return _abcService; }
}

如果可以像这样创建实例并且不需要更多参数或配置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在没有该类实例的情况下访问一个类中的列表?

来自分类Dev

如何在另一个类中访问此实例方法

来自分类Dev

如何从另一个类访问实例化?

来自分类Dev

如何在一个类的实例中声明一个类的实例?

来自分类Dev

如何在另一个页面上访问HTML对象

来自分类Dev

如何在另一个窗体上访问ListView控件

来自分类Dev

如何在一个域上访问两台服务器

来自分类Dev

如何在另一个硬盘驱动器上访问Windows 8?

来自分类Dev

如何在实例上访问静态成员?

来自分类Dev

如何在不创建实例的情况下访问另一个类内声明的类?

来自分类Dev

当实例来自另一个类时,如何访问超类的实例?

来自分类Dev

如何在一个类中声明另一个类的实例

来自分类Dev

我如何在不创建另一个bean id的情况下访问类的相同实例

来自分类Dev

如何在其实例上访问es-2015类方法?

来自分类Dev

如何在实例化时在新类中创建另一个类的实例?

来自分类Dev

从上一个类访问类实例

来自分类Dev

如何访问属于我传递给另一个类的类的实例的属性?

来自分类Dev

如何通过在Javascript另一个类的实例访问另一个类中的方法

来自分类Dev

在另一个方法(相同的类)上访问ArrayList

来自分类Dev

如何访问同一实例中另一个类中的函数?

来自分类Dev

如何在python中使用另一个实例的类名创建实例?

来自分类Dev

类方法如何访问相同类的另一个实例的私有成员?

来自分类Dev

Java如何使用另一个类的实例访问方法

来自分类Dev

Java:如何在另一个类中使用在一个类中实例化的对象?

来自分类Dev

如何在另一个模型类中实例化一个模型类?

来自分类Dev

如何在另一个类中创建导入的类的实例

来自分类Dev

如何在另一个生成字节码类中使用匿名类实例

来自分类Dev

如何在另一个类中创建模拟类的实例

来自分类Dev

如何在同一个类的Perl中使用类的实例

Related 相关文章

  1. 1

    如何在没有该类实例的情况下访问一个类中的列表?

  2. 2

    如何在另一个类中访问此实例方法

  3. 3

    如何从另一个类访问实例化?

  4. 4

    如何在一个类的实例中声明一个类的实例?

  5. 5

    如何在另一个页面上访问HTML对象

  6. 6

    如何在另一个窗体上访问ListView控件

  7. 7

    如何在一个域上访问两台服务器

  8. 8

    如何在另一个硬盘驱动器上访问Windows 8?

  9. 9

    如何在实例上访问静态成员?

  10. 10

    如何在不创建实例的情况下访问另一个类内声明的类?

  11. 11

    当实例来自另一个类时,如何访问超类的实例?

  12. 12

    如何在一个类中声明另一个类的实例

  13. 13

    我如何在不创建另一个bean id的情况下访问类的相同实例

  14. 14

    如何在其实例上访问es-2015类方法?

  15. 15

    如何在实例化时在新类中创建另一个类的实例?

  16. 16

    从上一个类访问类实例

  17. 17

    如何访问属于我传递给另一个类的类的实例的属性?

  18. 18

    如何通过在Javascript另一个类的实例访问另一个类中的方法

  19. 19

    在另一个方法(相同的类)上访问ArrayList

  20. 20

    如何访问同一实例中另一个类中的函数?

  21. 21

    如何在python中使用另一个实例的类名创建实例?

  22. 22

    类方法如何访问相同类的另一个实例的私有成员?

  23. 23

    Java如何使用另一个类的实例访问方法

  24. 24

    Java:如何在另一个类中使用在一个类中实例化的对象?

  25. 25

    如何在另一个模型类中实例化一个模型类?

  26. 26

    如何在另一个类中创建导入的类的实例

  27. 27

    如何在另一个生成字节码类中使用匿名类实例

  28. 28

    如何在另一个类中创建模拟类的实例

  29. 29

    如何在同一个类的Perl中使用类的实例

热门标签

归档