如果我讓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