でSystem.Xml.XmlWriterを配置することができますどのように私は私がしたXmlWriterオブジェクトを配置しようとしていますPowerShellの
try
{
[System.Xml.XmlWriter] $writer = [System.Xml.XmlWriter]::Create('c:\some.xml')
}
finally
{
$writer.Dispose()
}
エラー:他の側では
Method invocation failed because [System.Xml.XmlWellFormedWriter] doesn't contain a method named 'Dispose'.
:
$writer -is [IDisposable]
# True
を私は何をすべきか?
が保護されたメソッドを持って、どのように私はPowerShellでそれを呼び出すことができますか?タイプキャストは機能しません '($ writer -as [IDisposable])。Dispose()'。私は.Net Reflection APIを使うべきですか? – alex2k8
Disposeの代わりにCall Closeを呼び出します。 Closeはすべてのリソースを解放します。 – Michael
"間違った" Disposeについて話しています。彼が望む['Dispose'](http://msdn.microsoft.com/en-us/library/bb357166.aspx)は' '保護されていません。これは明示的なインタフェースの実装です!明示的なインターフェイスの実装は、PowerShellから呼び出すのが難しいです。しかし、この* hack *はうまくいくはずです: '[IDisposable] .GetMethod(" Dispose ")。Invoke($ writer、@())'。 –