You do not need to bother with the unique class/method name.
The uniqueness of the type in .NET is defined by the following
components
[assembly][namespace][class_name]
Because every script has its own assembly there is no collision.
Assembly component of the class identifier is always different.
BTW you may also consider the following API usage pattern:
var PrintSum = CSScript.LoadMethod(
@"public static void PrintSum(int a, int b)
{
Console.WriteLine((a+b));
}")
.GetStaticMethod();
PrintSum(1, 2);