インスタンスメソッドには、メソッド呼び出しの第一引数として .NET オブジェクトが渡されます。通常この .NET オブジェクトは、拡張関数(例えばコンストラクター呼び出し)またはスタイルシートパラメーター/変数により作成されます。以下に XSLT の例を示します:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:variable name="releasedate"
select="date:new(2008, 4, 29)"
xmlns:date="clitype:System.DateTime"/>
<doc>
<date>
<xsl:value-of select="date:ToString(date:new(2008, 4, 29))"
xmlns:date="clitype:System.DateTime"/>
</date>
<date>
<xsl:value-of select="date:ToString($releasedate)"
xmlns:date="clitype:System.DateTime"/>
</date>
</doc>
</xsl:template>
</xsl:stylesheet>
上の例では、System.DateTime コンストラクター (new(2008, 4, 29)) が、System.DateTime 型の .NET オブジェクトの作成に使用されます。このオブジェクトは、最初に releasedate 変数の値として、次に System.DateTime.ToString() メソッドの引数として作成されます。System.DateTime.ToString() インスタンスメソッドは、System.DateTime コンストラクターの (new(2008, 4, 29)) における引数として2度呼び出されます。これらインスタンスにおいて releasedate 変数が .NET オブジェクトを取得するのに使用されます。
インスタンスメソッドとインスタンスフィールドの違いは理論的なものです。インスタンスメソッドでは .NET オブジェクトが直接引数に渡され、インスタンスフィールドではパラメーターや変数が(.NET オブジェクトそのものを含めることはできるものの)代わりに渡されます。例えば上の例では、releasedate 変数に .NET オブジェクトが含まれており、この変数が2番目の date 要素コンストラクターにて ToString() の引数として渡されます。そのため、最初の date 要素にある ToString() インスタンスがインスタンスメソッドであるのに対し、2番目はインスタンスフィールドとしてみなされます。両方のインスタンスで求められる結果は等価です。