Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

SpeechRecognizer.Grammars Property

Gets a collection of the Grammar objects that are loaded in this SpeechRecognizer instance.

Namespace:  System.Speech.Recognition
Assembly:  System.Speech (in System.Speech.dll)

public ReadOnlyCollection<Grammar> Grammars { get; }

Property Value

Type: System.Collections.ObjectModel.ReadOnlyCollection<Grammar>
A collection of the Grammar objects that the application loaded into the current instance of the shared recognizer.

This property does not return any speech recognition grammars loaded by another application.

The following example outputs information to the console for each speech recognition grammar loaded into the shared speech recognizer.

using System;
using System.Collections.Generic;
using System.Speech.Recognition;
using System.Threading;

namespace SharedRecognizer
  class Program
    static void Main(string[] args)
      using (SpeechRecognizer recognizer = new SpeechRecognizer())
        Grammar sampleGrammar = new Grammar(new GrammarBuilder("sample phrase"));
        sampleGrammar.Name = "Sample Grammar";


      Console.WriteLine("Press any key to exit...");

    private static void OutputGrammarList(SpeechRecognizer recognizer)
      List<Grammar> grammars = new List<Grammar>(recognizer.Grammars);
      if (grammars.Count > 0)
        Console.WriteLine("Loaded grammars:");
        foreach (Grammar g in grammars)
          Console.WriteLine("  Grammar: {0}",
            (g.Name != null) ? g.Name : "<no name>");
        Console.WriteLine("No grammars loaded.");

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4
© 2015 Microsoft