function logMethod(target: any, propertyKey: string, descriptor: PropertyDescriptor) {
const originalMethod = descriptor.value;
descriptor.value = function(...args: any[]) {
console.log(`调用方法 ${propertyKey},参数:`, args);
const result = originalMethod.apply(this, args);
console.log(`方法 ${propertyKey} 返回值:`, result);
return result;
};
return descriptor;
}
class ExampleClass {
@logMethod
exampleMethod(a: number, b: number): number {
return a + b;
}
}
const example = new ExampleClass();
example.exampleMethod(1, 2);