Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

msmilkoff avatar msmilkoff 338 Точки

Override на get-only property в C#

Има ли някакъв workaround да се overrid-не get-only property със setter, защото в следния прост пример, по най-очевидния начин не става:

public abstract class A

{

    public abstact int X { get; }

}

public class B : A

{

    public override int X

    {

        get{ return 0; }

        set { //нещо си } // тук гърми. 

    }

}

0
C# OOP Basics
alex1966 avatar alex1966 255 Точки

public abstract class A

{

    public abstact int X { get; }

}

Тук си направил абстрактен метод (getter)

и отдолу override-ваш Х с getter но му пишеш setter, какъвто при инициализацията няма. С други думи горе при класа А направи и setter, и ще можеш да го override-неш, нещо такова трябва да стане:
 

 public abstract class A
    {
        public abstract int X { get; set; }
    }

    public class B : A
    {
        public override int X { get; set; }
    }

0
msmilkoff avatar msmilkoff 338 Точки

Това е умишлено, аз точно това питах, не искам сетър на базовия клас :)

0
alex1966 avatar alex1966 255 Точки

Тогава не можеш да override-неш setter който го няма, в наследниците.
Един вид искаш да имаш нещо в децата, което в родителите го няма.

1
20/05/2016 11:39:10
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.