can i change a variable from non-static to static at runtime in c#?

I want a variable static at runtime .

No. But you can have a static variable to which you assign the value of the non-static one when you want, accomplishing pretty much the same thing.