Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C#] Type laden uit config voor gebruik in VS design time

Pagina: 1
Acties:

  • TRoZZ
  • Registratie: Oktober 2000
  • Laatst online: 13-05 11:46
Weet iemand of het volgende mogelijk is in C# ?


Stel ik heb de volgende regel in mijn web.config :
XML:
1
<DookySection profileType="Dooky.DAL.Data.Identity.DookyProfile, Dooky.DAL" visitorType="Dooky.DAL.Data.Identity.DookyVisitor, Dooky.DAL" />


Is er dan een manier om de types die daarin zijn gedefinieerd te gebruiken in Visual Studio design-time op een soortgelijke manier :

C#:
1
2
3
4
5
public class DookyBase
    {
        public CONFIG_PROFILETYPE CurrentProfile { get; set; }
        public CONFIG_VISITORTYPE CurrentVisitor { get; set; }
    }


Alvast bedankt !

  • NickThissen
  • Registratie: November 2007
  • Laatst online: 18-11 13:07
Niet op een directe manier.

Je kunt wel bijvoorbeeld een T4 Text Templating script gebruiken (.tt file) om de DookyBase class te genereren. Daarmee kun je je web.config uitlezen en parsen. De DookyBase class genereer je dan via een .tt file waarbij je het type 'dynamisch' invoegt (uitgelezen vanuit de web.config). Het ziet er dan ongeveer zo uit:
C#:
1
2
3
4
5
public class DookyBase
{
    public <#= profileType #> CurrentProfile {get; set;}
    public <#= visitorType #> CurrentVisitor {get; set;}
}

Bij T4 text templating wordt vanuit dit soort template een code file gegenereert waarbij de <#= ... #> stukken vervangen worden door de variabelen in profileType / visitorType (als string zeg maar).

[ Voor 4% gewijzigd door NickThissen op 08-02-2013 23:17 ]

Mijn iRacing profiel


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:06
Wat is de bedoeling eigenlijk, want ik vind het eigenlijk een beetje vreemd.
Je gaat in je web.config (waar je dus config settings bepaald die van belang zijn at runtime), iets gaan definieren dat je wil gebruiken tijdens 'design/dev' time ?

Ik denk dat jij wellicht op zoek bent naar een DI container, zoals bv Autofac

https://fgheysels.github.io/