---
title: "Erhålla dynamiskt alla variabelvärden i en funktion?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/156853-erhålla-dynamiskt-alla-variabelvärden-i-en-funktion"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Lukaspojken"
published: "2007-02-06T11:40:51.000Z"
updated: "2007-02-06T13:51:46.000Z"
replies: 4
views: 275
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/156853-erhålla-dynamiskt-alla-variabelvärden-i-en-funktion"
---

# Erhålla dynamiskt alla variabelvärden i en funktion?

## #1 — Lukaspojken, 2007-02-06T11:40Z

Finns det något smart sätt man kan använda sig av för att erhålla alla varibelvärden i en funktion? Går det tex att använda sig av reflection för detta?

```
Function GetObject(id, createdDate)
Dim Counter AS Integer = 0
....
End Function
```

Det jag skulle vilja få ut tex i ovanstående funktion är id, createdDate samt counter. Någon som vet hur man kan göra detta på ett bra sätt?

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

## #2 — erka, 2007-02-06T11:52Z

Tittat på utparametrar?

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

## #3 — Lukaspojken, 2007-02-06T13:10Z

Hur menar du? :) Jag vill inte ändra funktionens returvärden utan det jag vill är att kunna logga "funtionstillståndet" i form av vilka variabelvärden som är satta. Via reflection kan man relativt enkelt tex loopa igenom dynamiskt fältdeklarationer och deras värden för ett objekt. Det jag är nyfiken på är om man kan göra något liknande med funktionsvariabler.

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

## #4 — erka, 2007-02-06T13:17Z

Out parameters kanske inte finns i VB, men det verkar ju vara det du vill göra, inte returvärde utan returparameter.

Typ

myMethod(out int myOutParam)
{
  myOutParam=100;
}

void Main()
{
  int myInt=5;
  myMethod(myInt);
  Console.WriteLine(out myInt);
}

Om du förklarar ett scenario kanske jag förstår bättre vad du menar, vad ska du ha det till?

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

## #5 — Lukaspojken, 2007-02-06T13:51Z

Om jag förstått out parametrar rätt så är det detsamma som Byref i VB. Men det känns inte riktigt som det är det jag är jag vill göra :) Ska försöka förklara lite mer...

Om jag har tex 10 funktioner så skulle jag vilja på ett väldigt enkelt sätt logga alla varibelvärden i dessa funktioner. Ett sätt som man kan göra detta på är att i slutet i funktionen lägga in en rad likt:

Function GetObject(id, createdDate)
Dim Counter AS Integer = 0
....

Logging("Counter=" & Counter & ", id=" & id & ", createdDate=" & createdDate)
End Function

Problemet med detta är att om jag skulle vilja logga en annan funktion så måste jag först söka igenom hela funktionen efter alla variabler och konkatera ihop dessa. Det jag skulle vilja är att detta sker dynamiskt på något sätt så att om man skulle vilja logga någon annan funktion så är det bara att lägga in den koden i den funktion utan omskrivning av kod. Anledningen för att jag vill göra detta är för att hitta ett fel som bara uppstår i produktionsmiljön lite då och då.

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/156853-erhålla-dynamiskt-alla-variabelvärden-i-en-funktion
