ITextTemplatingEngineHost.LoadIncludeText Method

Acquires the text that corresponds to a request to include a partial text template file.

Namespace:  Microsoft.VisualStudio.TextTemplating
Assembly:  Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 (in Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll)

Syntax

'Declaration
Function LoadIncludeText ( _
    requestFileName As String, _
    <OutAttribute> ByRef content As String, _
    <OutAttribute> ByRef location As String _
) As Boolean
bool LoadIncludeText(
    string requestFileName,
    out string content,
    out string location
)
bool LoadIncludeText(
    String^ requestFileName, 
    [OutAttribute] String^% content, 
    [OutAttribute] String^% location
)
abstract LoadIncludeText : 
        requestFileName:string * 
        content:string byref * 
        location:string byref -> bool 
function LoadIncludeText(
    requestFileName : String, 
    content : String, 
    location : String
) : boolean

Parameters

  • requestFileName
    Type: System.String
    The name of the partial text template file to acquire.
  • location
    Type: System.String%
    A String that contains the location of the acquired text. If the host searches the registry for the location of include files or if the host searches multiple locations by default, the host can return the final path of the include file in this parameter. The host can set the location to Empty if the file could not be found or if the host is not file-system based.

Return Value

Type: System.Boolean
true to indicate that the host was able to acquire the text; otherwise, false.

Remarks

If the user has specified the optional include directive in a text template, the engine calls this method. This method can be called 0, 1, or multiple times for each transformation. For more information, see T4 Text Template Directives.

This method can also be called from a custom directive processor.

Examples

The following code example shows a possible implementation for a custom host. This code example is part of a larger example. For the complete example, see Walkthrough: Creating a Custom Text Template Host.

public bool LoadIncludeText(string requestFileName, out string content, out string location)
{
    content = System.String.Empty;
    location = System.String.Empty;
    
    //If the argument is the fully qualified path of an existing file,
    //then we are done.
    //----------------------------------------------------------------
    if (File.Exists(requestFileName))
    {
        content = File.ReadAllText(requestFileName);
        return true;
    }

    //This can be customized to search specific paths for the file.
    //This can be customized to accept paths to search as command line
    //arguments.
    //----------------------------------------------------------------
    else
    {
        return false;
    }
}
Public Function LoadIncludeText(ByVal requestFileName As String, ByRef content As String, ByRef location As String) As Boolean Implements ITextTemplatingEngineHost.LoadIncludeText

    content = System.String.Empty
    location = System.String.Empty

    'If the argument is the fully qualified path of an existing file,
    'then we are done.
    '----------------------------------------------------------------
    If File.Exists(requestFileName) Then

        content = File.ReadAllText(requestFileName)
        Return True

    'This can be customized to search specific paths for the file.
    'This can be customized to accept paths to search as command line
    'arguments.
    '----------------------------------------------------------------
    Else
        Return False
    End If
End Function

.NET Framework Security

See Also

Reference

ITextTemplatingEngineHost Interface

Microsoft.VisualStudio.TextTemplating Namespace

Other Resources

Walkthrough: Creating a Custom Text Template Host