これはどういう意味ですか?
オリジナルの方法: -
method Something.SomeMethod(a:Integer;b:Integer;c:Integer): Integer;
begin
result:=b+c;
end;
新しい方法: - 私は内の文字列を使用しようとすると、そのための
begin
if (a > 0) then
begin
result := (b + c);
exit
end;
begin
result := 1000;
exit
end
メソッドレベルの側面は、この
[AttributeUsage(AttributeTargets.Method)]
Class1Attribute = public class(System.Attribute,
IMethodImplementationDecorator)
private
protected
public
method HandleImplementation(Services: RemObjects.Oxygene.Cirrus.IServices; aMethod: RemObjects.Oxygene.Cirrus.IMethodDefinition);
end;
implementation
method Class1Attribute.HandleImplementation(Services: RemObjects.Oxygene.Cirrus.IServices; aMethod: RemObjects.Oxygene.Cirrus.IMethodDefinition);
begin
var newVersion:=new ResultValue();
var newAssignment:=new AssignmentStatement(newVersion,new DataValue(1001));
var p1:= new ParamValue(0);
aMethod.SetBody(Services,method
begin
if (unquote<Integer>(p1)>0) then
begin
Aspects.OriginalBody;
end
else
begin
unquote(newAssignment);
end;
end);
end;
ようになります。 Datavalue(ターゲット関数は文字列を返します)内部エラーが発生します。文字列を使用している場合、このコードを更新する必要がありますか? – jamiei
SomeMethodが文字列を返し、新しいDataValueのパラメータも文字列であればOKです。 – Mosh
AssignmentStatementを引用符で囲まずに文字列を置き換えると、(Data7)内部エラー(D03)が発生します。 – jamiei