C# 中两个类之间如何互相访问数据

文章介绍了在C#中,即使两个类没有共同的命名空间、基类或继承关系,可以通过实例化一个类并在另一个类中访问其成员。静态变量和方法提供了在不同类间直接访问的便利。作者还给出了Unity和TMPro插件中的代码示例。

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

C# 中两个类没有同一个命名空间,没有同一个基类,没有继承关系。也可以互相访问数据!

原理就是!A类是一个国家,叫中国,B类也是一个国家叫俄罗斯,A类想要访问B类中的变量和方法!可以让B类俄罗斯在中国派驻一个大使馆,使馆使者也就是B类的实例化对象

(B oneB=new B())

oneB就相当于B派出的大使馆使者!oneB可以在别的国家(A类中)直接调用B类中公共函数和变量(前面带有Public 的都是公共变量和方法)

1.在A类中之间实例化B类的对象(B的使者)

在一个类A中,将另一个类B作为普通类型声明变量即可(也就是实例化对象),类似 int A ,float A

这样就可以通过B实例化对象访问B类中全部数据!而此时B的实例化对象,身在他乡,在A中就可以发挥作用!但是这相当于给B复制了一份!这种情况更适用于:

在一个类中调用另一个类的方法!

如果是另一个类中有一个变量需要被改变和实时维护,更适合用静态变量!

代码示例


using UnityEngine;
using TMPro;//引用文本UI插件
public class Score 
{
    public leoyang one;

    private void Awake()//比start先执行,仅仅执行一次
    {
       Debug.Log(one.A = 15) ;
    }
}

public class leoyang
{
    public int  A = 10;
}

GameObject

2.B类中声明静态变量或方法,在他国A中就可以之间通过B的类名访问其静态变量

public static float one=10;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unity数字工匠

难题的解决使成本节约,求打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值