Question: I have this code:

```
protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
{
    DateTime date = Convert.ToDateTime(Calendar1.VisibleDate.ToString("M, y"));
    Label2.Text = date.ToString("MM, yyyy") + "г.";
}

```

And when i change month in Calendar, Label2.text allways consists of months of 2015(current) year, even if i change month in Calendar 13 times. For example, in Calendar i see 1st January 2016, but in label still 1st January 2015.

Answer: 
Assuming your class is at global level, you can access it through `globals()`. (Other possible options are `locals()` or `vars()`.) For example:

```
>>> class Test(object):
...     def __init__(self, *args, **kwargs):
...         print("in test init")
...     def make(self):
...         print("in test make")
... 
>>> cls_name = "Test"
>>> method_name = "make"
>>> callback = getattr(globals()[cls_name](), method_name)
in test init
>>> callback()
in test make

```

If your `Test` class were in a different module, you could use `getattr(module_containing_test, cls_name)` instead of the `globals()` lookup.
Look for class in [globals()](https://docs.python.org/2.7/library/functions.html?highlight=globals#globals) and then invoke method via [getattr](https://docs.python.org/2.7/library/functions.html?highlight=getattr#getattr).

```
clazz = globals()["Test"]
obj = clazz()
getattr(obj, "make")()

```