Je sais que c'est une question idiote, en ce sens que la réponse est probablement un "oh bien sûr, bien sûr!" un.Modifier les propriétés spécifiques au type dans la mise en œuvre de l'interface
Voici ce que j'ai:
public interface IEvent {
int Id
string Title
}
public class MeetingEvent : IEvent {
int Id
string Title
//Meeting Properties
string Room;
User Organizer;
}
public class BirthdayEvent : IEvent {
int Id
string Title
//Bday Properties
int Candles;
bool Surprise;
}
Je travaille sur un modèle de liaison personnalisé dans ASP.NET MVC comme mon principal formulaire d'édition hérite de IEvent alors que je joue un RenderPartial ajouter les autres champs spécifiques au type
Lorsque j'arrive au classeur modèle, je peux voir toutes les clés/valeurs pour le type, ce qui est bon. Maintenant, je veux faire:
IEvent _event;
switch (eventType) { // EventType is an enum
case EventType.Birthday:
_event = new BirthdayEvent();
_event.Candles= GetValue<int>(bindingContext, "Candles");
_event.Surprise= GetValue<bool>(bindingContext, "Surprise");
break;
case EventType.Meeting:
_event = new MeetingEvent();
// Meeting-specific fields are set here...
break;
default:
throw new InvalidOperationException("Invalid Event Type");
}
Essentiellement, je veux une variable IEvent et je veux créer un type d'événement spécifique qui implémente IEvent et définir les champs spécifiques de type. Ce que Visual Studio me dit est qu'il ne peut pas accéder aux champs BirthdayEvent.
Bien que, je le comprends, je n'arrive pas à comprendre ce que je dois faire. Ainsi, cette question :).
Merci d'avance!
var !!! Génial, Keltex, merci :) – Dan