<?xml version="1.0" encoding="us-ascii"?>
<ErrorDocumentation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ErrorName>CS0452</ErrorName>
  <Examples>
    <string>// CS0452: The type `int' must be a reference type in order to use it as type parameter `T' in the generic type or method `Foo.Test&lt;T&gt;(ref T)'
// Line: 14
public class Foo
{
	public static void Test&lt;T&gt; (ref T t)
		where T : class
	{ }
}

public class C {
	public static void Main ()
	{
		int i = 0;
		Foo.Test&lt;int&gt; (ref i);
	}
}
</string>
    <string>// CS0452: The type `int' must be a reference type in order to use it as type parameter `T' in the generic type or method `TestClass&lt;T&gt;'
// Line: 23
using System;

public class TestClass&lt;T&gt; where T : class
{
	static public T meth()
	{
		return null;
	}

	static public T Value;
}			
	
public class Test
{
	public Test()
	{
	}
		
	static public void Main()
	{
		int i = TestClass&lt;int&gt;.meth();
		Console.WriteLine (i);
	}
}
</string>
    <string>// CS0452: The type `int' must be a reference type in order to use it as type parameter `T' in the generic type or method `TestClass&lt;T&gt;'
// Line: 23
using System;

public class TestClass&lt;T&gt; where T : class
{
	static public T meth()
	{
		return null;
	}

	static public T Value;
}			
	
public class Test
{
	public Test()
	{
	}
		
	static public void Main()
	{
		int j = TestClass&lt;int&gt;.Value;
		Console.WriteLine (j);
	}
}
</string>
    <string>// CS0452: The type `Foo' must be a reference type in order to use it as type parameter `T' in the generic type or method `MyObject&lt;T&gt;'
// Line: 13
public class MyObject&lt;T&gt;
	where T : class
{ }

struct Foo
{ }

class X
{
	MyObject&lt;Foo&gt; foo;

	static void Main ()
	{ }
}
</string>
  </Examples>
</ErrorDocumentation>