---
title: "Anropa metoder dynamisk"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/134579-anropa-metoder-dynamisk"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Herman"
published: "2005-09-21T10:08:44.000Z"
updated: "2005-09-21T12:46:05.000Z"
replies: 3
views: 420
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/134579-anropa-metoder-dynamisk"
---

# Anropa metoder dynamisk

## #1 — Herman, 2005-09-21T10:08Z

hej jag undrar om man kan kalla på metoder *dynamsik* utan att använda en t.ex. switch-sats genom innehållet i en variabel. 

string strCall = "metod1()";

alltså
anropa metoden som finns i strCall, i detta fall metod1()

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

## #2 — juventus1, 2005-09-21T11:49Z

Kolla på reflections: <http://www.dotnetbips.com/displayarticle.aspx?id=35>

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

## #3 — Herman, 2005-09-21T12:00Z

Tack, jag har tittat på det en smula men det verkar inte ge mig det jag vill - iaf inte enkelt. I php går det fint att göra just det jag vill.  

Se nedan

```php
<?php
function foo() {
   echo "In foo()<br />\n";
}

function bar($arg = '')
{
   echo "In bar(); argument was '$arg'.<br />\n";
}

// This is a wrapper function around echo
function echoit($string)
{
   echo $string;
}

$func = 'foo';
$func();        // This calls foo()

$func = 'bar';
$func('test');  // This calls bar()

$func = 'echoit';
$func('test');  // This calls echoit()
?>
```

<http://www.php.net/manual/sv/functions.variable-functions.php>

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

## #4 — Herman, 2005-09-21T12:46Z

Fick till det, men det är inte lika smidigt som i php. Men det är inte direkt oväntat med tanke på språk. :)

```
string strKlass = "Klusse";
string strMetod = "Melon";

Type t = typeof(strKlass);
Object obj = t.InvokeMember(null, BindingFlags.DeclaredOnly |
 BindingFlags.Public | BindingFlags.NonPublic | 
BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null);
string s = (string) t.InvokeMember(strMetod, BindingFlags.DeclaredOnly |
 BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance |
 BindingFlags.InvokeMethod, null, obj, null);
```

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/134579-anropa-metoder-dynamisk
