public CLS_Content.Value New(CLS_Content content, IList<CLS_Content.Value> _params)
{
if (contentMemberCalc == null)
contentMemberCalc = new CLS_Content(content.environment);
NewStatic(content.environment);
CLS_Value_ScriptValue sv = new CLS_Value_ScriptValue();
sv.value_type = this;
sv.value_value = new SInstance();
sv.value_value.type = this;
foreach (KeyValuePair<string,Member> i in this.members)
{
if (i.Value.bStatic == false)
{
if (i.Value.expr_defvalue == null)
{
sv.value_value.member[i.Key] = new CLS_Content.Value();
sv.value_value.member[i.Key].type = i.Value.type.type;
sv.value_value.member[i.Key].value = i.Value.type.DefValue;
}
else
{
var value = i.Value.expr_defvalue.ComputeValue(contentMemberCalc);
if (i.Value.type.type != value.type)
{
sv.value_value.member[i.Key] = new CLS_Content.Value();
sv.value_value.member[i.Key].type = i.Value.type.type;
sv.value_value.member[i.Key].value = content.environment.GetType(value.type).ConvertTo(content, value.value, i.Value.type.type);
}
else
{
sv.value_value.member[i.Key] = value;
}
}
}
}
if (this.functions.ContainsKey(this.Name))//有同名函数就调用
{
MemberCall(content, sv.value_value, this.Name, _params);
}
return CLS_Content.Value.FromICLS_Value(sv);
}
void NewStatic(ICLS_Environment env)