Type.IsMarshalByRef Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, указывающее, маршалирован ли объект Type по ссылке.
public:
property bool IsMarshalByRef { bool get(); };
public bool IsMarshalByRef { get; }
member this.IsMarshalByRef : bool
Public ReadOnly Property IsMarshalByRef As Boolean
Значение свойства
Значение true
, если объект Type маршалируется по ссылке; в противном случае — значение false
.
Реализации
Примеры
В следующем примере показаны IsContextfulсвойства Type , IsMarshalByRef
и IsPrimitive класса . Он проверяет, может ли данный тип размещаться в контексте, можно ли маршалировать его по ссылке и является ли тип примитивным типом данных.
using namespace System;
using namespace System::Runtime::Remoting::Contexts;
public ref class ContextBoundClass: public ContextBoundObject
{
public:
String^ Value;
};
public ref class Example
{
public:
void Demo()
{
// Determine whether the types can be hosted in a Context.
Console::WriteLine("The IsContextful property for the {0} type is {1}.",
Example::typeid->Name, Example::typeid->IsContextful);
Console::WriteLine("The IsContextful property for the {0} type is {1}.",
ContextBoundClass::typeid->Name, ContextBoundClass::typeid->IsContextful);
// Determine whether the types are marshalled by reference.
Console::WriteLine("The IsMarshalByRef property of {0} is {1}.",
Example::typeid->Name, Example::typeid->IsMarshalByRef );
Console::WriteLine("The IsMarshalByRef property of {0} is {1}.",
ContextBoundClass::typeid->Name, ContextBoundClass::typeid->IsMarshalByRef );
// Determine whether the types are primitive datatypes.
Console::WriteLine("{0} is a primitive data type: {1}.",
int::typeid->Name, int::typeid->IsPrimitive );
Console::WriteLine("{0} is a primitive data type: {1}.",
String::typeid->Name, String::typeid->IsPrimitive );
}
};
int main()
{
Example^ ex = gcnew Example;
ex->Demo();
}
// 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.
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.