System.ComponentModel.MaskedTextProvider.Clone C# (CSharp) Method

Clone() private method

private Clone ( ) : object
return object
        public object Clone()
        {
            MaskedTextProvider clonedProvider;
            Type providerType = GetType();

            if (providerType == s_maskTextProviderType)
            {
                clonedProvider = new MaskedTextProvider(
                                                        Mask,
                                                        Culture,
                                                        AllowPromptAsInput,
                                                        PromptChar,
                                                        PasswordChar,
                                                        AsciiOnly);
            }
            else // A derived Type instance used.
            {
                object[] parameters = new object[]
                {
                    Mask,
                    Culture,
                    AllowPromptAsInput,
                    PromptChar,
                    PasswordChar,
                    AsciiOnly
                };

                clonedProvider = SecurityUtils.SecureCreateInstance(providerType, parameters) as MaskedTextProvider;
            }

            clonedProvider.ResetOnPrompt = false;
            clonedProvider.ResetOnSpace = false;
            clonedProvider.SkipLiterals = false;

            for (int position = 0; position < _testString.Length; position++)
            {
                CharDescriptor chDex = _stringDescriptor[position];

                if (IsEditPosition(chDex) && chDex.IsAssigned)
                {
                    clonedProvider.Replace(_testString[position], position);
                }
            }

            clonedProvider.ResetOnPrompt = ResetOnPrompt;
            clonedProvider.ResetOnSpace = ResetOnSpace;
            clonedProvider.SkipLiterals = SkipLiterals;
            clonedProvider.IncludeLiterals = IncludeLiterals;
            clonedProvider.IncludePrompt = IncludePrompt;

            return clonedProvider;
        }

Usage Example

Example #1
0
        private bool PlaceChar( MaskedTextProvider provider, char ch, int startPosition, int length, bool overwrite, out int caretPosition )
        {
            if( this.ShouldQueryAutoCompleteMask( provider.Clone() as MaskedTextProvider, ch, startPosition ) )
              {
            AutoCompletingMaskEventArgs e = new AutoCompletingMaskEventArgs(
              m_maskedTextProvider.Clone() as MaskedTextProvider,
              startPosition,
              length,
              ch.ToString() );

            this.OnAutoCompletingMask( e );

            if( ( !e.Cancel ) && ( e.AutoCompleteStartPosition > -1 ) )
            {
              caretPosition = startPosition;

              // AutoComplete the block.
              for( int i = 0; i < e.AutoCompleteText.Length; i++ )
              {
            if( !this.PlaceCharCore( provider, e.AutoCompleteText[ i ], e.AutoCompleteStartPosition + i, 0, true, out caretPosition ) )
              return false;
              }

              caretPosition = e.AutoCompleteStartPosition + e.AutoCompleteText.Length;
              return true;
            }
              }

              return this.PlaceCharCore( provider, ch, startPosition, length, overwrite, out caretPosition );
        }
All Usage Examples Of System.ComponentModel.MaskedTextProvider::Clone