---
title: "Variabel i en klass som nås från en annan klass?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/88140-variabel-i-en-klass-som-nås-från-en-annan-klass"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "m_soderlund"
published: "2003-10-10T07:47:51.000Z"
updated: "2003-10-10T12:28:50.000Z"
replies: 4
views: 363
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/88140-variabel-i-en-klass-som-nås-från-en-annan-klass"
---

# Variabel i en klass som nås från en annan klass?

## #1 — m_soderlund, 2003-10-10T07:47Z

Hej!
Jag har en klass, låt oss säga att den heter main och ärver Page. I den klassen har jag en variabel som heter CnStr där anslutningssträngen till en databas finns.. Jag undrar hur jag ärver variabeln från klassen main till en annan klass (i detta fall klassen sub_main), som ärver UserControl?
I mitt fall så kan man tydligen inte heller använda Server-objektet i en klass som ärver UserControl. :(

```
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic

Public Class default : Inherits Page

Dim CnStr As string = "Provider=Microsoft.Jet.OLEDB.4.0;data source=" & Server.MapPath("db_links.mdb")

Sub Page_Load()
'exempelvis en anslutning till en databas
End Sub

End Class

Public Class sub_main : Inherits UserControl

Sub Page_Load()

'här ska man kunna använda variabeln CnStr från klassen main, i en databasanslutning

End Sub

End Class
```

Problemen är alltså:
\- jag vill använda en variabel över flera klasser
\- Server-objektet kan inte användas i en klass som ärver UserControl

Som alltid tacksam för hjälp. :)

Permalänk: https://www.webforum.nu/p/88140

## #2 — niko, 2003-10-10T09:06Z

> jag vill använda en variabel över flera klasser

Jag tror du tänker fel när du vill lösa det med arv. Varför helt enkelt inte skicka in värdet av variabeln i instanser av *sub_main* via konstruktorn, en publik metod eller en property?

> Server-objektet kan inte användas i en klass som ärver UserControl

Jo. Server-objektet finns tillgängligt som en statisk property i *HTTPContext.Current*. (Och även om det varit så illa att den inte gjort det så hade du kunnat skicka över en referens till det med metoden ovan.)

Permalänk: https://www.webforum.nu/p/1181318

## #3 — m_soderlund, 2003-10-10T11:22Z

Tack för svaret, niko! :)
Skulle du vilja visa mig lite exempelkod? (Eller någon annan som kan detta bättre än jag..?)

Permalänk: https://www.webforum.nu/p/1181408

## #4 — niko, 2003-10-10T12:13Z

Tja, nu kan jag inte särskilt mycket om just UserControls eller ASP.NET så det är möjligt att det jag skrev om konstruktorer inte riktigt stämmer i det här fallet. Men du borde iaf kunna skicka in din connectionstring via en public property ungefär som på den här sidan: <http://www.aspfree.com/print/1049,0/> 

Vad gäller server-objektet så är det väl mest en fråga om att använda det rakt av:

```
Dim VårNuvarandeMapp As String
VårNuvarandeMapp = HttpContext.Current.Server.MapPath(".")
```

Permalänk: https://www.webforum.nu/p/1181463

## #5 — m_soderlund, 2003-10-10T12:28Z

Tack så mycket, det fungerade utmärkt. :)

Permalänk: https://www.webforum.nu/p/1181474

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/88140-variabel-i-en-klass-som-nås-från-en-annan-klass
