Язык

Variable.ReadOnly Свойство

Определение

Получает или задаёт булевое значение, которое указывает, что переменная является только для чтения и не может быть изменена её значение.

public:
 property bool ReadOnly { bool get(); void set(bool value); };
[Microsoft.SqlServer.Dts.Runtime.Localization.LocalizablePropertyDescription(typeof(Microsoft.SqlServer.Dts.Runtime.Localized), "ReadOnlyDesc")]
public bool ReadOnly { get; set; }
[<Microsoft.SqlServer.Dts.Runtime.Localization.LocalizablePropertyDescription(typeof(Microsoft.SqlServer.Dts.Runtime.Localized), "ReadOnlyDesc")>]
member this.ReadOnly : bool with get, set
Public Property ReadOnly As Boolean

Значение свойства

Булевое значение, указывающее статус переменной только для чтения. Значение true указывает, что переменная является только для чтения. Значение false указывает, что переменная читается/записывает.

Атрибуты

Примеры

Следующий пример создаёт пакет, добавляет ForEachLoop, и добавляет переменную в Variables коллекцию ForEachLoop. Затем он извлекает и устанавливает свойства переменной и отображает их для просмотра, включая ReadOnly.

static void Main(string[] args)  
        {  
            Package p = new Package();  
            // Add a sequence to the package executables collection  
            Sequence seq = (Sequence)p.Executables.Add("STOCK:SEQUENCE");  
            // Add a ForEachLoop to the Sequence  
            ForEachLoop feLoop = (ForEachLoop)seq.Executables.Add("STOCK:FOREACHLOOP");  

            // Add a variable, v, to the variable collection  
           // of the ForEach loop.  
            Variable v = feLoop.Variables.Add("v", false, "global", 100);  

//  Get and set different variable properties  

            // Creation Name (read-only)  
            String createName = v.CreationName;  

            // Description (read/write)  
            v.Description = "my new v Description";  
            String vDesc = v.Description;  

            // ID (read-only)  
            String vID = v.ID;  

            // Name (read/write)  
            String oldName = v.Name;  
            v.Name = "my_new_V_name";  
            String newName = v.Name;  

            // Namespace (read/write)  
            String oldNamespace = v.Namespace;  
            v.Namespace = "my_new_v_Namespace";  
            String newNamespace = v.Namespace;  

            // Properties (read-only)  
            int pmCount = v.Properties.Count;  

            // Qualified Name (read-only)  
            String QName = v.QualifiedName;  

            // RaiseChangedEvent (read/write)  
            Boolean oldraiseChEvt = v.RaiseChangedEvent;  
            v.RaiseChangedEvent = true;  
            Boolean raiseChangedEvent = v.RaiseChangedEvent;  

            // Read-only (read/write)  
            Boolean vReadOnly = v.ReadOnly;  
            v.ReadOnly = true;  
            Boolean newVReadOnly = v.ReadOnly;  

            // System Variable (read-only)  
            Boolean sysVar = v.SystemVariable;  

            // Type (read-only)  
            TypeCode type = v.DataType;  

            // Value (read/write)  
            Object vValue = v.Value;  

            Console.WriteLine("The variable properties are: ");  
            Console.WriteLine("Creation Name   = {0}", createName);  
            Console.WriteLine("Description        = {0}", vDesc);  
            Console.WriteLine("ID                     = {0}", vID);  
            Console.WriteLine("Old name, new name = {0}, {1}", oldName, newName);  
            Console.WriteLine("Old namespace, new namespace = {0}, {1}", oldNamespace, newNamespace);  
            Console.WriteLine("Properties count   = {0}", pmCount);  
            Console.WriteLine("Qualified Name     = {0}", QName);  
            Console.WriteLine("old RaiseEvent, new RaiseEvent = {0}, {1}", oldraiseChEvt, raiseChangedEvent);  
            Console.WriteLine("old read-only, new read-only = {0}, {1}", vReadOnly, newVReadOnly);  
            Console.WriteLine("System Variable    = {0}", sysVar);  
            Console.WriteLine("Type               = {0}", type);  
        }  
Shared Sub Main(ByVal args() As String)   
    Dim p As New Package()  
    ' Add a sequence to the package executables collection  
    Dim seq As Sequence = CType(p.Executables.Add("STOCK:SEQUENCE"), Sequence)  
    ' Add a ForEachLoop to the Sequence  
    Dim feLoop As ForEachLoop = CType(seq.Executables.Add("STOCK:FOREACHLOOP"), ForEachLoop)  

    ' Add a variable, v, to the variable collection  
    ' of the ForEach loop.  
    Dim v As Variable = feLoop.Variables.Add("v", False, "global", 100)  

    '  Get and set different variable properties  
    ' Creation Name (read-only)  
    Dim createName As String = v.CreationName  

    ' Description (read/write)  
    v.Description = "my new v Description"  
    Dim vDesc As String = v.Description  

    ' ID (read-only)  
    Dim vID As String = v.ID  

    ' Name (read/write)  
    Dim oldName As String = v.Name  
    v.Name = "my_new_V_name"  
    Dim newName As String = v.Name  

    ' Namespace (read/write)  
    Dim oldNamespace As String = v.Namespace  
    v.Namespace = "my_new_v_Namespace"  
    Dim newNamespace As String = v.Namespace  

    ' Properties (read-only)  
    Dim pmCount As Integer = v.Properties.Count  

    ' Qualified Name (read-only)  
    Dim QName As String = v.QualifiedName  

    ' RaiseChangedEvent (read/write)  
    Dim oldraiseChEvt As [Boolean] = v.RaiseChangedEvent  
    v.RaiseChangedEvent = True  
    Dim raiseChangedEvent As [Boolean] = v.RaiseChangedEvent  

    ' Read-only (read/write)  
    Dim vReadOnly As [Boolean] = v.ReadOnly  
    v.ReadOnly = True  
    Dim newVReadOnly As [Boolean] = v.ReadOnly  

    ' System Variable (read-only)  
    Dim sysVar As [Boolean] = v.SystemVariable  

    ' Type (read-only)  
    Dim type As TypeCode = v.DataType  

    ' Value (read/write)  
    Dim vValue As [Object] = v.Value  

    Console.WriteLine("The variable properties are: ")  
    Console.WriteLine("Creation Name   = {0}", createName)  
    Console.WriteLine("Description        = {0}", vDesc)  
    Console.WriteLine("ID                     = {0}", vID)  
    Console.WriteLine("Old name, new name = {0}, {1}", oldName, newName)  
    Console.WriteLine("Old namespace, new namespace = {0}, {1}", oldNamespace, newNamespace)  
    Console.WriteLine("Properties count   = {0}", pmCount)  
    Console.WriteLine("Qualified Name     = {0}", QName)  
    Console.WriteLine("old RaiseEvent, new RaiseEvent = {0}, {1}", oldraiseChEvt, raiseChangedEvent)  
    Console.WriteLine("old read-only, new read-only = {0}, {1}", vReadOnly, newVReadOnly)  
    Console.WriteLine("System Variable    = {0}", sysVar)  
    Console.WriteLine("Type               = {0}", type)  
End Sub   

Пример вывода:

Свойства переменных:

Название создания =

Описание = моё новое v Описание

ID = {622CF328-55D7-4E81-9385-9C1F8450511E}

Старое имя, новое имя = v, my_new_V_name

Старое пространство имён, новое = глобальное my_new_v_Namespace

Количество свойств = 12

Квалифицированное имя = my_new_v_Namespace::my_new_V_name

старый RaiseEvent, новый RaiseEvent = Ложно, правда

старое только для чтения, новое только для чтения = ложно, истинно

Системная переменная = ложная

Тип = Int32

Применяется к