public string ToShortDateString_Subst()
        {
            Console.WriteLine("--- Struct methods interception --- ");
            Console.WriteLine("--- DateTime.ToShortDateString ---");
            Console.Write("Calling original method... ");
            var result = (string)_handle.InvokeTarget(this, null);

            Console.WriteLine("result: " + result);
            return("Current date is: " + result);
        }
        public static string GetEnvironmentVariable_Subst(string name)
        {
            Console.WriteLine("--- Static method interception --- ");
            Console.WriteLine("--- Environment.GetEnvironmentVariable ---");
            Console.Write("Calling original method... ");

            var result = (string)_handle.InvokeTarget(null, name);

            Console.WriteLine("result: " + result);

            // replace return value
            return("replaced value");
        }
Esempio n. 3
0
        public void Host_Subst(string value)
        {
            Console.WriteLine("--- Instance property setter interception --- ");
            Console.WriteLine("--- UriBuilder.Host ---");
            Console.WriteLine("Calling original method... ");

            // note: this.GetType() == typeof(UriBuilder)
            _handle.InvokeTarget(this, value);

            Console.WriteLine("Modifying instance... ");

            // add some additional data to UriBuilder instance
            ((UriBuilder)((object)this)).Port = 8080;
        }
        public bool Exists_Subst()
        {
            Console.WriteLine("--- Instance property getter interception --- ");
            Console.WriteLine("--- DirectoryInfo.Exists ---");
            Console.Write("Calling original method... ");

            // note: this.GetType() == typeof(DirectoryInfo)
            bool result = (bool)_handle.InvokeTarget(this, null);

            Console.WriteLine("result: " + result);
            Console.WriteLine();

            // replace return value
            return(false);
        }