Type.IsContextful Property (System)

Switch View :
ScriptFree
.NET Framework Class Library
Type.IsContextful Property

Gets a value indicating whether the Type can be hosted in a context.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
Syntax

Visual Basic
Public ReadOnly Property IsContextful As Boolean
C#
public bool IsContextful { get; }
Visual C++
public:
virtual property bool IsContextful {
	bool get () sealed;
}
F#
abstract IsContextful : bool
override IsContextful : bool

Property Value

Type: System.Boolean
true if the Type can be hosted in a context; otherwise, false.

Implements

_Type.IsContextful
Remarks

A context intercepts calls to the class members and enforces policies that are applied to the class, such as synchronization. For more detailed information on remoting contexts, see Context.

If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns false.

Examples

The following example demonstrates the IsContextful, IsMarshalByRef, and IsPrimitive properties of the Type class. It checks whether the given type can be hosted in the context, whether it can be marshaled by reference, and whether the type is a primitive data type.

Visual Basic

Imports System
Imports System.Runtime.Remoting.Contexts
Imports Microsoft.VisualBasic
Public Class MyContextBoundClass
    Inherits ContextBoundObject
    Public myString As String = "This class demonstrates the IsContextful, IsMarshalByRef, and IsPrimitive properties."
End Class 'MyContextBoundClass
Public Class MyTypeDemoClass
    Public Shared Sub Main()
        Try
            ' Determine whether the types can be hosted in a Context.
            Console.WriteLine("The Contextful property for the {0} type is {1}.", GetType(MyTypeDemoClass).Name, GetType(MyTypeDemoClass).IsContextful.ToString())
            Console.WriteLine("The Contextful property for the {0} type is {1}.", GetType(MyContextBoundClass).Name, GetType(MyContextBoundClass).IsContextful.ToString())
            ' Determine whether the types are marshalled by reference.
            Console.WriteLine("The MarshalByRef property of {0} is {1}.", GetType(MyTypeDemoClass).Name, GetType(MyTypeDemoClass).IsMarshalByRef.ToString())
            Console.WriteLine("The MarshalByRef property of {0} is {1}.", GetType(MyContextBoundClass).Name, GetType(MyContextBoundClass).IsMarshalByRef.ToString())
            ' Determine whether the types are primitive datatypes.
            Console.WriteLine("Is {0} a primitive data type? {1}.", GetType(Integer).Name, GetType(Integer).IsPrimitive.ToString())
            Console.WriteLine("Is {0} a primitive data type? {1}.", GetType(String).Name, GetType(String).IsPrimitive.ToString())
        Catch e As Exception
            Console.WriteLine("An exception occurred: " + e.Message.ToString())
        End Try
    End Sub 'Main
End Class 'MyTypeDemoClass


C#

using System;
using System.Runtime.Remoting.Contexts;
public class MyContextBoundClass: ContextBoundObject
{
    public string myString = "This class demonstrates the IsContextful, IsMarshalByRef, and IsPrimitive properties.";
}
public class MyTypeDemoClass
{
    public static void Main()
    {
        try
        {
            // Determine whether the types can be hosted in a Context.
            Console.WriteLine ("The IsContextful property for the {0} type is {1}.", typeof(MyTypeDemoClass).Name, typeof(MyTypeDemoClass).IsContextful);
            Console.WriteLine ("The IsContextful property for the {0} type is {1}.", typeof(MyContextBoundClass).Name, typeof(MyContextBoundClass).IsContextful);

            // Determine whether the types are marshalled by reference.
            Console.WriteLine ("The MarshalByRef property of {0} is {1}.", typeof(MyTypeDemoClass).Name, typeof(MyTypeDemoClass).IsMarshalByRef);
            Console.WriteLine ("The MarshalByRef property of {0} is {1}.", typeof(MyContextBoundClass).Name, typeof(MyContextBoundClass).IsMarshalByRef);

            // Determine whether the types are primitive datatypes.
            Console.WriteLine ("Is {0} is a primitive data type? {1}.", typeof(int).Name, typeof(int).IsPrimitive);
            Console.WriteLine ("Is {0} a primitive data type? {1}.", typeof(string).Name, typeof(string).IsPrimitive);
        } 
        catch (Exception e)
        {
            Console.WriteLine("An exception occurred: " + e.Message);
        }
    }
}


Visual C++

using namespace System;
using namespace System::Runtime::Remoting::Contexts;
public ref class MyContextBoundClass: public ContextBoundObject
{
public:
   String^ myString;
};

public ref class MyTypeDemoClass
{
public:
   void Demo()
   {
      try
      {
         // Determine whether the types can be hosted in a Context.
         Console::WriteLine( "The IsContextful property for the {0} type is {1}.", MyTypeDemoClass::typeid->Name, MyTypeDemoClass::typeid->IsContextful );
         Console::WriteLine( "The IsContextful property for the {0} type is {1}.", MyContextBoundClass::typeid->Name, MyContextBoundClass::typeid->IsContextful );

         // Determine whether the types are marshalled by reference.
         Console::WriteLine( "The MarshalByRef property of {0} is {1}.", MyTypeDemoClass::typeid->Name, MyTypeDemoClass::typeid->IsMarshalByRef );
         Console::WriteLine( "The MarshalByRef property of {0} is {1}.", MyContextBoundClass::typeid->Name, MyContextBoundClass::typeid->IsMarshalByRef );

         // Determine whether the types are primitive datatypes.
         Console::WriteLine( "Is {0} is a primitive data type? {1}.", int::typeid->Name, int::typeid->IsPrimitive );
         Console::WriteLine( "Is {0} a primitive data type? {1}.", String::typeid->Name, String::typeid->IsPrimitive );
      }
      catch ( Exception^ e ) 
      {
         Console::WriteLine( "An exception occurred: {0}", e->Message );
      }
   }
};

int main()
{
   MyTypeDemoClass^ mtdc = gcnew MyTypeDemoClass;
   mtdc->Demo();
}


Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
See Also

Reference