internal class, yalnızca tanımlandığı derleme (assembly) içinde yani aynı proje içerisinden erişilebilir olan bir sınıftır. Public erişim belirleyicisine erişilebilecek bölge dışında tamamen benzer. C# programlama dilinde, erişim belirleyicileri, bir değişkenin veya sınıfın hangi kod bloklarından erişilebileceğini belirtir.
internal class, sınıfın yalnızca aynı derleme içindeki kod bloklarından erişilebileceği anlamına gelir. Bu, sınıfın başka bir derleme tarafından kullanılamayacağı anlamına gelir. Bu tür sınıflar, genellikle bir derleme içindeki diğer sınıflar tarafından kullanılmak üzere tasarlanmıştır. internal erişim belirleyicisi, public veya private gibi diğer erişim belirleyicileriyle karşılaştırıldığında, bir sınıfın kullanımını kısıtlar ve güvenliği artırır.
Özetle, internal class, yalnızca tanımlandığı derleme yani aynı proje içinde erişilebilen bir sınıftır. Bu sınıflar, genellikle diğer sınıflar tarafından kullanılmak üzere aynı derleme içinde tasarlanmıştır ve başka derlemeler tarafından kullanılamazlar. Bu tür sınıfların kullanımı, kodun güvenliğini artırır ve özellikle büyük projelerde, kodu organize etmek ve yönetmek için faydalıdır.
using System.Collections.Generic;
using UnityEngine;
namespace Fade.Formations
{
internal class Formations
{
internal List<Vector3> SquareFormation(float widht, float depth, bool isNoise)
{
List<Vector3> points = new List<Vector3>();
Vector3 pos;
float xAxis = widht / 2f;
float zAxis = depth / 2f;
for (float x = -xAxis; x <= xAxis; x++)
{
for (float z = -zAxis; z <= zAxis; z++)
{
pos = new Vector3(x, 0, z);
if (isNoise) pos += GetNoise(.6f);
points.Add(pos);
}
}
return points;
}
}
}