il codice dell esempio in c# non lo capisco:

string temp_string1;
string temp_string2
string[] FrameName;

FrameName = new string[3];
temp_string1 = FrameName[0];
temp_string2 = FrameName[0];
ret = SapModel.FrameObj.AddByCoord(0, 0, 0, 0, 0, 10, ref temp_string1, "R1", "1", "Global");
FrameName[0] = temp_string1;
ret = SapModel.FrameObj.AddByCoord(0, 0, 10, 8, 0, 16, ref temp_string1, "R1", "2", "Global");
FrameName[1] = temp_string1;
ret = SapModel.FrameObj.AddByCoord(-4, 0, 10, 0, 0, 10, ref temp_string1, "R1", "3", "Global");
FrameName[2] = temp_string1;

perchè fa tutti quei giri con framename e temp_string?