private Property GetThisAccessorProperty(TypeNode type, Identifier name, Expression privExpr)
{
Property accessor = Templates.GetPropertyTemplate("thisAccessor");
accessor.Type = type;
accessor.Getter.ReturnType = type;
accessor.Setter.Parameters[0].Type = type;
accessor.Name = new Identifier(name.Name);
Replacer.Replace(accessor.Getter, "_fieldName", privExpr);
Replacer.Replace(accessor.Setter, "_fieldName", privExpr);
accessor.Getter.Name = Identifier.For("get_" + name.Name);
accessor.Setter.Name = Identifier.For("set_" + name.Name);
return accessor;
}