次のようなメンバーを持つC#dllがあります。
public void DoStuff(int i) {
try {
something.InnerDoStuff(i);
}
catch (Exception ex) {
throw ex;
}
}
スローオペコードを取得する方法を理解しました:
Add-Type -Path 'c:\Program Files\ILSpy2\Mono.Cecil.dll'
Add-Type -Path 'c:\Program Files\ILSpy2\Mono.Cecil.pdb.dll'
$dll = 'c:\Program Files\ZippySoft\Something\foo.dll'
$assemblyDefinition = [Mono.Cecil.AssemblyDefinition]::ReadAssembly($dll);
$doThingsIlAsm = (
(
$assemblyDefinition.MainModule.Types `
| where { $_.Name -eq 'DoerOfThings' } `
| select -first 1 *
).Methods | where { $_.Name -eq 'DoStuff' }
).Body.Instructions
$throwOp = ($doThingsIlAsm | where {
$_.OpCode.Name -eq 'throw'
})
私の質問は、スローオペコードを再スローオペコードに置き換えるにはどうすればよいですか?