Sobes.tech
Junior — Middle

Կարո՞ղ է ինտերֆեյսում հայտարարագրել փոփոխականներ կամ դաշտեր։

sobes.tech AI

Պատասխան AI-ից

C#-ում ինտերֆեյսներում հնարավոր չէ հայտարարելու սովորական փոփոխականներ կամ դաշտեր, քանի որ ինտերֆեյսը միայն պայմանագիր է սահմանում՝ մեթոդների, հատկությունների, իրադարձությունների և ինդեքսատորների հավաքածու՝ առանց իրականացման:

Այնուամենայնիվ, C# 8.0-ից սկսած, ինտերֆեյսներում կարելի է հայտարարելու՝

  • Կոնստանտներ (static readonly դաշտեր՝ սկզբնավորումով)
  • Ստատիկ մեթոդներ՝ իրականացմամբ
  • Դատարկ հատկություններ՝ նախնական իրականացմամբ

Բայց սովորական, ոչ-ստատիկ դաշտերը ինտերֆեյսներում հայտարարելու հնարավորություն չկա:

Օրինակ՝ կոնստանտ ինտերֆեյսում:

public interface IExample
{
    const int MaxValue = 100;
    void DoWork();
}