如果我让BaseClass的公共它开始抱怨:什么是内部保护,为什么奇怪的班级工作?
Assets/TestScript.cs(14,14): error CS0060: Inconsistent accessibility: base class `Class1' is less accessible than class `BaseClass'
首先,我不明白为什么会抱怨因为据我所知基类应该是从你开始访问的东西
B无法访问受保护的一个功能女巫很好。
但是什么是内部类?
using UnityEngine;
using System.Collections;
public class TestScript : MonoBehaviour {
BaseClass B = new BaseClass();
Class2 A = new BaseClass(); // how can this even work and why does it work?
Class2 C = new Class2(); // Assets/TestScript.cs(7,28): error CS0144: Cannot create an instance of the abstract class or interface `Class2' // - WTH why?
void Start(){
B.BaseFunction(); // Base
B.Function1(); // Assets/TestScript.cs(10,19): error CS0122: `Class1.Function1()' is inaccessible due to its protection level
A.Function2(); // 2
}
}
internal class BaseClass : Class1 {
internal void BaseFunction(){
Debug.Log("Base");
}
}
internal abstract class Class1 : Class2{
protected void Function1(){
Debug.Log("1");
}
}
public abstract class Class2{
public void Function2(){
Debug.Log("2");
}
}
还是我做了一堆与公共相同的东西呢?
但ATM我什么bugges最多的是为什么会发生这种工作:
Class2 A = new BaseClass();
如果这不,如果我太少博学约我刚开始上课上班
Class2 C = new Class2();
对不起在编程一年后今天就学习它们。
什么是相同的程序集? – MilitaryG