Visual Studio .Net 2003, C# og auto-generering af declarations
Jeg har en Webapplication, skrevet i c#.net og med en del webforms - i disse webforms, når jeg dropper div. components, bliver der automatisk genereret declarations i min codebehind, der refererer til mit component på selve webformen i aspx-filen...
Dette er også fint nok, og meget nyttet så man ikke selv skal tampe alt det skidt ind, men i mit tilfælde vælger jeg at delcare dem som "internal" i stedet for "protected" objecter (da jeg så kan bruge dem som peoperties og lave nogle get/set-metoder til dem (og tilfredsstiller f.eks. FxCop på den måde)...
Dette virker også fint, men så snart jeg går i design-mode igen på min webform, laver den _nye_ instancer af dem i min code-behind, således jeg har mine egne "internal" og så nogle auto-generet "protected"... Dette er pisse irriterende, da jeg så får både compiler-warnings om dobbelt-instanser, samt konstant skal slette disse auto-genererede declarations...
Hvor kan jeg slå fra, så den ikke automatisk laver disse auto-ting i C#.net?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg tror selv jeg har fundet en løsning på hvorfor den lavede egne instanser hele tiden;
Id på mit object på webform: MenuPlaceholder Id på mit object i codebehind (internal): menuPlaceholder Id på mit object i codebehind (protected, med properties: MenuPlaceholder
Jeg ændrede object-id'et på min webform til menuPlaceholder, og vupti overskrev den ikke min internal (som den jo heller ikke gjorde før - det var simpelthen to forskellige ID'er...)
Jeg følger bare Microsofts design-regler for kode nøje... En del af den virker meget underlig (især fordi designeren ikke understøtter Microsofts egen guidelines for kode) - f.eks. voilater det FxCops DesignRules som en error, hvis jeg ikke gør det sådan:
det er da noget værre flueknepperi... :P der er da flere steder i frameworket hvor at der er eksempler på public Fields... f.eks. er String.Empty ikke en property men et public field.
Reglen findes både i C++, Java og C#. Og er almindeligt accepteret.
Eksemplet med String.Empty modbeviser ikke noget da reglen ikke gælder for const/final/readonly felter.
Efter min bedste mening er .aspx.cs-.aspx lidt speciel og måske burde fxcop acceptere det for dem.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.