Avatar billede kulashaker Nybegynder
28. februar 2006 - 15:59 Der er 11 kommentarer og
1 løsning

public Windows Form?

Hello folks,

Jeg sidder og arbejder med C# i Visual Studio 2005. Kan nogen her fortælle mig hvorfor VS, når man add'er en Windows Form, opretter formen som public? Når man f.eks. add'er en klasse er de jo private. Er der nogen umiddelbar konsekvens ved at fjerne 'public' fra formens deklarering og dermed gøre formen privat?

Et eksempel på en winform: public partial class KundeData : Form
Et eksempel på en klasse: class Kunde

På forhånd tak,
CC
Avatar billede arne_v Ekspert
28. februar 2006 - 16:19 #1
tja - det har jo en stor effekt paa hvilke andre klasser der kan bruge klassen

default paa classes er vel ioevrigt ikke private men internal ??
Avatar billede kulashaker Nybegynder
28. februar 2006 - 16:33 #2
Jo du har ret, jeg læste lige et sted at default er internal og ikke private.

Men når det nu ikke skaber problemer for kompileringen og programmets virken at fjerne public fra ens forme, er der så umiddelbart noget i vejen for at gøre det?

Jeg vil selvfølgelig gerne undgå at fjerne public og komme til at fortryde det senere.
Avatar billede arne_v Ekspert
28. februar 2006 - 16:48 #3
internal betyder jo at al kode i samme source fil kan bruge klassen

det store spoergsmaal er om der evt. senere er kode i andre source filer som
skal bruge den klasse
Avatar billede kulashaker Nybegynder
28. februar 2006 - 17:26 #4
Ja, det er netop eventuelle bagvedliggende konsekvenser (på sigt) jeg er bange for..

Så det ville være godt at finde ud af hvorfor forms oprettes som public! Jeg lader spørgsmålet stå åbent indtil videre..
Avatar billede arne_v Ekspert
28. februar 2006 - 17:30 #5
der er vel ingen andre end dig som kan sige om der senere vil vaere kode i en anden
source fil der skal bruge din klasse

der er ikke noget teknisk i det - det er ren kontekst
Avatar billede kulashaker Nybegynder
28. februar 2006 - 17:39 #6
Ok, jeg kan godt se hvad du mener og det har du jo som sådan ret i.

Tak for dit input indtil videre. Jeg lader den stå åben lidt, så må vi se om der er nogen der har et bud på hvorfor forms oprettes som public - for det vil jeg nu stadig gerne vide :)

Du må gerne smide et svar med det samme, så kan vi kigge på point senere.
Avatar billede arne_v Ekspert
28. februar 2006 - 17:58 #7
ok
Avatar billede spif2001 Nybegynder
01. marts 2006 - 09:03 #8
Jeg tror generelt GUI ting bliver gjort public når man opretter dem. Det gælder i alle tilfælde for CustomControl og UserControl også.

Det har vel noget at gøre med, at man normalt (i større applikationer) laver den slags i DLL'er, der så kan bruges af andre - og derfor bliver nødt til at være public.
Avatar billede kulashaker Nybegynder
01. marts 2006 - 10:21 #9
Hej Spiff,

Ok - cool! Tak for dit svar..

Du må gerne smide et svar til tråden, så kan vi få den afsluttet.
Avatar billede spif2001 Nybegynder
01. marts 2006 - 10:25 #10
Nej tak - giv bare pointene til Arne - jeg tilføjede bare mit eget synspunkt.
Avatar billede kulashaker Nybegynder
01. marts 2006 - 10:34 #11
Oki doki, as you wish!
Avatar billede kulashaker Nybegynder
01. marts 2006 - 10:36 #12
Og som "løsning" kan jeg da lige nævne at det blev valgt at lave programmets resterende klasser public, i stedet for at lave GUI formene internal. Dermed skulle programmets klasser have samme grad af accessibility.

Mvh
CC
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester