Articles of costruttore di

Come rilevare l’eccezione da un costruttore in una class derivata con C #?

Mi chiedevo come rilevare un’eccezione da un costruttore in una class derivata con C #. Qualcosa di simile: public class MyClassA { public MyClassA() { //Do the work if (failed) { throw new Exception(“My exception”); } } } public class MyClassB : MyClassA { public MyClassB() { //How to catch exception from a constructor in […]

Crea un object figlio nel costruttore genitore

È ansible creare un’istanza di un object figlio usando il costruttore del genitore e passandogli qualche tipo di parametro (una stringa, in questo caso) per dirgli il tipo di figlio che dovrebbe essere creato?

È corretto avere 2 costruttori, uno per l’iniezione delle dipendenze e l’altro che risolve l’iniezione?

Ho 2 costruttore nella mia class: public class VuelingCacheWebServices : IVuelingCacheWebService { public IVuelingCache apiConnector { get; set; } public VuelingCacheWebServices(IVuelingCache ApiConnector) { apiConnector = ApiConnector; } public VuelingCacheWebServices() : this(new VuelingCache()) { } } Come puoi vedere, ho un costruttore che dipende da IVuelingCache e un costruttore predefinito che crea un’istanza da passare al […]

Come chiamare il costruttore protetto in c #?

Come chiamare il costruttore protetto? public class Foo{ public Foo(a lot of arguments){} protected Foo(){} } var foo=??? Questo ovviamente fallisce il test: public class FooMock:Foo{} var foo=new FooMock(); Assert(typeof(Foo), foo.GetType());

Limita il valore di un parametro in un costruttore AT DESIGN TIME

Mi piacerebbe limitare il valore di un parametro numero in un costruttore all’interno di un certo intervallo. So che il modo convenzionale è di fare qualcosa di simile al seguente: public class Foo { public int MaxAmount { get; } public int Amount { get; set; } public Foo(int amount) { if (amount > MaxAmount) […]

C # non eredita il costruttore dalla class base

Possibili duplicati: Costruttori ed eredità Perché i costruttori non sono ereditati? Quando definisco la class ereditata dalla class base, devo ridefinire tutti i suoi costruttori. Mi chiedo perché C # non supporta l’ereditarietà dai costruttori della class base?

Costruttore di class C # che assegna a “questo”

Ho una domanda “ingenua”. Con il seguente codice di esempio: public class ThisClass { public int ThisClassID { get; set; } public string ThisValue { get; set;} public ThisClass() { } public ThisClass(int thisClassID) { using (MyContext dbContext = new MyContext()) { this = dbContext.CaseNotes.Find(thisClassID); } } } E, naturalmente, ottengo l’errore Cannot assign to […]

Metodo asincrono chiamato dal costruttore

Ho una domanda riguardo al metodo asincrono che chiamo costruttore e su come risolvere o c’è un buon lavoro, ecco un esempio public Constructor() { Value = PopulateValueFromDB(); //async method CalculateInDB(); // async method } public async Task PopulateValueFromDB() { … do some async calls return await … } public async Task CalculateInDB() { … […]

Il costruttore di richiamo della class derivata viene eseguito prima del costruttore della class base

Beh, in origine avevo un paio di costanti (come MAX_SPEED) con valori diversi in ciascuna delle classi derivate. L’idea era di usare quei valori in alcuni metodi della class base. In quel momento ho capito che non posso farlo con le costanti, quindi ho creato proprietà di sola lettura. Ho bisogno di un metodo per […]

Qual è il modo corretto per convalidare gli argomenti di un costruttore

Quindi ho una class con un parametro di stringa singola nel suo costruttore: public MyClass(string name) { this.Name = name; } ma non voglio mai preoccuparmi di qualcuno che inizializza un’istanza di MyClass con un nome che sia NULL o una stringa di lunghezza zero. Qual è il migliore è stato quello di convalidare il […]