c#静态方法或者变量的调用

本文通过C#代码示例介绍了静态(全局)变量与实例变量的区别及使用方法。阐述了如何通过类名直接调用静态变量,以及实例化对象后调用实例变量的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、如果你的方法或者对象是静态也就是说static则为全局变量,引用时直接类名+方法名

//区别在于普通类需要实例化才可以应用类里的方法的变量


public class VideoView1 : MonoBehaviour
{
    public static string aa;//全局变量
    public string bb;
}
public class VideoView2 : MonoBehaviour
{
    VideoView1 v1;
    public void test()
    {
	   v1=new VideoView1();//实例化
          ....                          //v1赋值或应用的内容
    }
    
    public void GetString1()
    {
      return VideoView1().aa;//类名+对象
    }
   public void GetString2()
    {    
      return v1.bb;   //先要实例化在应用,此时只是新new一个变量和原来的VideoView1得内容没有关系      
    }

}

### 访问实例成员 在C#中,静态方法无法直接访问类的实例变量调用实例方法。这是因为静态上下文中不存在特定的对象实例。为了使静态方法能够操作实例成员,通常有两种方式实现这一目标: #### 方法一:通过参数传递对象实例 可以通过将包含所需数据的对象作为参数传入静态方法来间接访问这些成员。 ```csharp public class ExampleClass { private int instanceVariable; public ExampleClass(int value) { this.instanceVariable = value; } public static void PrintInstanceValue(ExampleClass obj) { Console.WriteLine(obj.instanceVariable); } } ``` 此代码展示了如何定义一个接受`ExampleClass`类型的参数并打印其私有字段的方法[^1]。 #### 方法二:创建新的实例或使用现有实例 如果确实需要在一个静态环境中执行某些涉及实例的操作,则可以在该环境下临时创建一个新的实例或者利用已经存在的某个实例来进行必要的处理。 ```csharp public class AnotherExample { private string message; public AnotherExample(string msg) { this.message = msg; } // 静态工厂模式示例 public static AnotherExample CreateWithMessage(string newMsg) { return new AnotherExample(newMsg); } public void ShowMessage() { Console.WriteLine(this.message); } } ``` 这里展示了一个简单的工厂模式例子,在其中静态方法负责返回新构建的对象实例[^2]。 需要注意的是,虽然可以这样做,但在设计上应当谨慎考虑是否真的有必要让静态部分依赖于具体的实例状态;这可能会破坏程序结构清晰度以及潜在地引入难以追踪的状态管理问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值