Bahasa

Type.IsContextful Properti

Definisi

Mendapatkan nilai yang menunjukkan apakah Type dapat dihosting dalam konteks.

public:
 property bool IsContextful { bool get(); };
public bool IsContextful { get; }
member this.IsContextful : bool
Public ReadOnly Property IsContextful As Boolean

Nilai Properti

true Type jika dapat dihosting dalam konteks; jika tidak, false.

Penerapan

Contoh

Contoh berikut menunjukkan IsContextfulproperti , , IsMarshalByRefdan IsPrimitive kelas Type . Ini memeriksa apakah jenis yang diberikan dapat dihosting dalam konteks, apakah dapat di-marshal oleh referensi, dan apakah jenisnya adalah jenis data primitif.

using System;
using System.Runtime.Remoting.Contexts;

public class ContextBoundClass: ContextBoundObject
{
    public string Value = "The Value property.";
}

public class Example
{
    public static void Main()
    {
         // Determine whether the types can be hosted in a Context.
         Console.WriteLine("The IsContextful property for the {0} type is {1}.",
                           typeof(Example).Name, typeof(Example).IsContextful);
         Console.WriteLine("The IsContextful property for the {0} type is {1}.",
                           typeof(ContextBoundClass).Name, typeof(ContextBoundClass).IsContextful);

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

         // Determine whether the types are primitive datatypes.
         Console.WriteLine("{0} is a primitive data type: {1}.",
                           typeof(int).Name, typeof(int).IsPrimitive);
         Console.WriteLine("{0} is a primitive data type: {1}.",
                           typeof(string).Name, typeof(string).IsPrimitive);
    }
}
// The example displays the following output:
//    The IsContextful property for the Example type is False.
//    The IsContextful property for the ContextBoundClass type is True.
//    The IsMarshalByRef property of Example is False.
//    The IsMarshalByRef property of ContextBoundClass is True.
//    Int32 is a primitive data type: True.
//    String is a primitive data type: False.
open System

type ContextBoundClass() as this =
    inherit ContextBoundObject()
    [<DefaultValue>]
    val mutable public Value : string 
    do 
        this.Value <- "The Value property."

type Example() = class end

// Determine whether the types can be hosted in a Context.
printfn $"The IsContextful property for the {typeof<Example>.Name} type is {typeof<Example>.IsContextful}."
printfn $"The IsContextful property for the {typeof<ContextBoundClass>.Name} type is {typeof<ContextBoundClass>.IsContextful}."

// Determine whether the types are marshalled by reference.
printfn $"The IsMarshalByRef property of {typeof<Example>.Name} is {typeof<Example>.IsMarshalByRef}."
printfn $"The IsMarshalByRef property of {typeof<ContextBoundClass>.Name} is {typeof<ContextBoundClass>.IsMarshalByRef}."

// Determine whether the types are primitive datatypes.
printfn $"{typeof<int>.Name} is a primitive data type: {typeof<int>.IsPrimitive}."
printfn $"{typeof<string>.Name} is a primitive data type: {typeof<string>.IsPrimitive}."
// The example displays the following output:
//    The IsContextful property for the Example type is False.
//    The IsContextful property for the ContextBoundClass type is True.
//    The IsMarshalByRef property of Example is False.
//    The IsMarshalByRef property of ContextBoundClass is True.
//    Int32 is a primitive data type: True.
//    String is a primitive data type: False.
Imports System.Runtime.Remoting.Contexts

Public Class ContextBoundClass : Inherits ContextBoundObject
    Public Value As String = "The Value property."
End Class

Public Class Example
    Public Shared Sub Main()
         ' Determine whether the types can be hosted in a Context.
         Console.WriteLine("The IsContextful property for the {0} type is {1}.",
                           GetType(Example).Name, GetType(Example).IsContextful)
         Console.WriteLine("The IsContextful property for the {0} type is {1}.",
                           GetType(ContextBoundClass).Name, GetType(ContextBoundClass).IsContextful)
         ' Determine whether the types are marshalled by reference.
         Console.WriteLine("The IsMarshalByRef property of {0} is {1}.",
                           GetType(Example).Name, GetType(Example).IsMarshalByRef)
         Console.WriteLine("The IsMarshalByRef property of {0} is {1}.",
                           GetType(ContextBoundClass).Name, GetType(ContextBoundClass).IsMarshalByRef)
         ' Determine whether the types are primitive datatypes.
         Console.WriteLine("{0} is a primitive data type: {1}.",
                           GetType(Integer).Name, GetType(Integer).IsPrimitive)
         Console.WriteLine("{0} is a primitive data type: {1}.",
                           GetType(String).Name, GetType(String).IsPrimitive)
    End Sub
End Class
' The example displays the following output:
'    The IsContextful property for the Example type is False.
'    The IsContextful property for the ContextBoundClass type is True.
'    The IsMarshalByRef property of Example is False.
'    The IsMarshalByRef property of ContextBoundClass is True.
'    Int32 is a primitive data type: True.
'    String is a primitive data type: False.

Keterangan

Konteks mencegat panggilan ke anggota kelas dan memberlakukan kebijakan yang diterapkan ke kelas, seperti sinkronisasi. Untuk informasi selengkapnya tentang konteks jarak jauh, lihat Context.

Jika saat ini Type mewakili parameter jenis dalam definisi jenis generik atau metode generik, properti ini selalu mengembalikan false.

Berlaku untuk

Lihat juga