PropertySourceInfo.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / PropertySourceInfo.cs / 1305376 / PropertySourceInfo.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

using System; 
using System.Configuration.Internal; 
using System.Collections;
using System.Collections.Specialized; 
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Security.Permissions; 
using System.Xml;
using System.Globalization; 
using System.ComponentModel; 
using System.Security;
using System.Text; 

namespace System.Configuration {

    internal class PropertySourceInfo { 
        private string _fileName;
        private int _lineNumber; 
 
        internal PropertySourceInfo(XmlReader reader) {
            _fileName = GetFilename(reader); 
            _lineNumber = GetLineNumber(reader);
        }

        internal string FileName { 
            get {
                // 
                // Ensure we return the same string to the caller as the one on which we issued the demand. 
                //
                string filename = _fileName; 
                try {
                    new FileIOPermission(FileIOPermissionAccess.PathDiscovery, filename).Demand();
                }
                catch (SecurityException) { 
                    // don't expose the path to this user but show the filename
                    filename = Path.GetFileName(_fileName); 
                    if (filename == null) { 
                        filename = String.Empty;
                    } 
                }

                return filename;
            } 
        }
 
        internal int LineNumber { 
            get {
                return _lineNumber; 
            }
        }

        private string GetFilename(XmlReader reader) { 
            IConfigErrorInfo err = reader as IConfigErrorInfo;
 
            if (err != null) { 
                return (string)err.Filename;
            } 

            return "";
        }
 
        private int GetLineNumber(XmlReader reader) {
            IConfigErrorInfo err = reader as IConfigErrorInfo; 
 
            if (err != null) {
                return (int)err.LineNumber; 
            }
            return 0;
        }
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

using System; 
using System.Configuration.Internal; 
using System.Collections;
using System.Collections.Specialized; 
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Security.Permissions; 
using System.Xml;
using System.Globalization; 
using System.ComponentModel; 
using System.Security;
using System.Text; 

namespace System.Configuration {

    internal class PropertySourceInfo { 
        private string _fileName;
        private int _lineNumber; 
 
        internal PropertySourceInfo(XmlReader reader) {
            _fileName = GetFilename(reader); 
            _lineNumber = GetLineNumber(reader);
        }

        internal string FileName { 
            get {
                // 
                // Ensure we return the same string to the caller as the one on which we issued the demand. 
                //
                string filename = _fileName; 
                try {
                    new FileIOPermission(FileIOPermissionAccess.PathDiscovery, filename).Demand();
                }
                catch (SecurityException) { 
                    // don't expose the path to this user but show the filename
                    filename = Path.GetFileName(_fileName); 
                    if (filename == null) { 
                        filename = String.Empty;
                    } 
                }

                return filename;
            } 
        }
 
        internal int LineNumber { 
            get {
                return _lineNumber; 
            }
        }

        private string GetFilename(XmlReader reader) { 
            IConfigErrorInfo err = reader as IConfigErrorInfo;
 
            if (err != null) { 
                return (string)err.Filename;
            } 

            return "";
        }
 
        private int GetLineNumber(XmlReader reader) {
            IConfigErrorInfo err = reader as IConfigErrorInfo; 
 
            if (err != null) {
                return (int)err.LineNumber; 
            }
            return 0;
        }
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK