<?xml version="1.0"?>
<ErrorDocumentation xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ErrorName>CS0413</ErrorName>
  <Examples>
    <string>// CS0413: The `as' operator cannot be used with a non-reference type parameter `T'. Consider adding `class' or a reference type constraint
// Line: 8

public class SomeClass {
}

public class Foo&lt;T&gt; where T : struct {
	public T Do (object o) { return o as T; }
}

class Driver {
	static void Main ()
	{
		Foo&lt;SomeClass&gt; f = new Foo&lt;SomeClass&gt; ();
		f.Do ("something");
	}
}

</string>
    <string>// CS0413: The `as' operator cannot be used with a non-reference type parameter `T'. Consider adding `class' or a reference type constraint
// Line: 7

public class SomeClass {}

public class Foo&lt;T&gt;  {
	public T Do (object o) { return o as T; }
}

class Driver {
	static void Main ()
	{
		Foo&lt;SomeClass&gt; f = new Foo&lt;SomeClass&gt; ();
		f.Do ("something");
	}
}

</string>
  </Examples>
</ErrorDocumentation>