Altova XMLSpy 2024 Enterprise Edition

在一个实例方法中,一个.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))作为其第一个且唯一一个参数。在其中一个实例中,releasedate变量用于获取.NET对象。

 

 

实例方法和实例字段

理论上实例方法和实例字段是不同的。在实例方法中,.NET对象被直接作为参数传递;在实例字段中,传递的是参数或变量,尽管参数或变量本身可能包含.NET对象。在上例中,releasedate变量包含一个.NET对象。正是该变量作为ToString()的参数在第二个date元素构造器中传递。因此,第一个date元素中的ToString()实例是一个实例方法,而第二个被视为一个实例字段。但是,在这两个实例中生成的结果是相同的。

 

© 2017-2023 Altova GmbH