C# 统一分词系统代码,它是如何工作的?

C# 统一分词系统代码,它是如何工作的?,c#,unity3d,C#,Unity3d,我们有来自粒子系统统一文档的代码: public class ExampleClass : MonoBehaviour { void Start() { ParticleSystem ps = GetComponent<ParticleSystem>(); var em = ps.emission; em.enabled = true; em.type = ParticleSystemEmissionType.

我们有来自粒子系统统一文档的代码:

public class ExampleClass : MonoBehaviour {
    void Start() {
        ParticleSystem ps = GetComponent<ParticleSystem>();
        var em = ps.emission;
        em.enabled = true;

        em.type = ParticleSystemEmissionType.Time;

        em.SetBursts(
            new ParticleSystem.Burst[]{
                new ParticleSystem.Burst(2.0f, 100),
                new ParticleSystem.Burst(4.0f, 100)
            });
    }
}
公共类示例类:单行为{
void Start(){
ParticleSystem ps=GetComponent();
var em=ps.排放量;
em.enabled=true;
em.type=ParticleSystemEmissionType.Time;
挫折(
新粒子系统.突发[]{
新粒子系统。爆裂(2.0f,100),
新粒子系统。爆裂(4.0f,100)
});
}
}
1) var是指ParticleSystem.EmissionModule吗?

2) em如何影响ps.emission而不写入
ps.emission=em

var
只是让编译器找出类型的一种方法。如果你愿意,你也可以把它全部写出来。您可以将光标放在
var
上进行检查。您应该将
ParticleSystem.EmissionModule
视为推断类型

  • ParticleSystem.EmissionModule
    提供对粒子系统发射模块的访问,以便您可以管理其属性
  • 文件内容如下:

    访问粒子系统发射模块

    粒子系统模块不需要重新分配回 制度;它们是接口,而不是独立的对象


    谢谢你对第一个问题的澄清,第二个问题我还没弄明白;EmissionModule是一个接口吗?如果是,我认为我们不能直接从接口创建对象如果不是,它是什么,它是如何工作的?你可以。您不能做的是创建
    接口的实例。标记为
    abstract
    的类也是如此。如果我有一个
    Istudent
    接口和一个实现该接口的
    Student
    类,我可以通过以下操作创建一个Student对象:
    Istudent Student=new Student()。我希望这能有所帮助。谢谢,这是真的实例与对象不同,它们是不同的东西,最后一个问题EmissionModule实例em将如何修改ps.emission属性,如'em.enabled=true;'如何在不使用ps.emission=em的情况下进入ps.emission.enabled;行?如文档中所述,
    ParticleSystem.EmissionModule
    只是设置粒子系统的某些发射属性的一种方法。您不能设置
    ps.emission=em
    或类似的设置。