c# – 是否可以通过静态方法访问实例变量?

栏目: C# · 发布时间: 5年前

内容简介:在C#中,是否可以通过不同类中的静态方法访问实例变量而无需使用参数传递?在我们的项目中,我有一个数据访问层类,它有很多静态方法.在这些方法中,SqlCommand超时值已经过硬编码.在我们框架中的另一个类(Dac)中,有许多实例方法调用这些静态方法.我不想使用参数传递来编写太多代码.您是否有比参数传递更容易的其他解决方案?

在C#中,是否可以通过不同类中的静态方法访问实例变量而无需使用参数传递?

在我们的项目中,我有一个数据访问层类,它有很多静态方法.在这些方法中,SqlCommand超时值已经过硬编码.在我们框架中的另一个类(Dac)中,有许多实例方法调用这些静态方法.

我不想使用参数传递来编写太多代码.您是否有比参数传递更容易的其他解决方案?

是的,可以在不使用参数的情况下从静态方法访问实例变量,但前提是您可以通过声明为static的内容访问它.例:
public class AnotherClass
{
    public int InstanceVariable = 42;
}

public class Program
{
    static AnotherClass x = new AnotherClass(); // This is static.

    static void Main(string[] args)
    {
        Console.WriteLine(x.InstanceVariable);
    }
}

翻译自:https://stackoverflow.com/questions/3371839/is-it-possible-to-access-an-instance-variable-via-a-static-method


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

测试驱动开发

测试驱动开发

Kent Beck / 孙平平、张小龙 / 中国电力出版社 / 2004-4-1 / 28.00元

《测试驱动开发》(中文版)设想把编程看成是转动曲柄从井里提一桶水上来的过程。如果水桶比较小,那么仅需一个能自由转动的曲柄就可以了。如果水桶比较大而且装满水,那么还没等水桶全部被提上来你就会很累了。你需要一个防倒转的装置,以保证每转一次可以休息一会儿。水桶越重,防倒转的棘齿相距越近。测试驱动开发中的测试程序就是防倒转装置上的棘齿。一旦我们的某个测试程序能工作了,你就知道,它从现在开始并且以后永远都可......一起来看看 《测试驱动开发》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

SHA 加密
SHA 加密

SHA 加密工具