Junior — Middle
Կարո՞ղ է ինտերֆեյսում հայտարարագրել փոփոխականներ կամ դաշտեր։
sobes.tech AI
Պատասխան AI-ից
C#-ում ինտերֆեյսներում հնարավոր չէ հայտարարելու սովորական փոփոխականներ կամ դաշտեր, քանի որ ինտերֆեյսը միայն պայմանագիր է սահմանում՝ մեթոդների, հատկությունների, իրադարձությունների և ինդեքսատորների հավաքածու՝ առանց իրականացման:
Այնուամենայնիվ, C# 8.0-ից սկսած, ինտերֆեյսներում կարելի է հայտարարելու՝
- Կոնստանտներ (static readonly դաշտեր՝ սկզբնավորումով)
- Ստատիկ մեթոդներ՝ իրականացմամբ
- Դատարկ հատկություններ՝ նախնական իրականացմամբ
Բայց սովորական, ոչ-ստատիկ դաշտերը ինտերֆեյսներում հայտարարելու հնարավորություն չկա:
Օրինակ՝ կոնստանտ ինտերֆեյսում:
public interface IExample
{
const int MaxValue = 100;
void DoWork();
}