Search This Blog

Wednesday, December 24, 2014

Dependency Injection C# Example

C# > PatternsDependency Injection 

Dependency injection promotes loose coupling of components by passing dependencies to an object rather than having an object instantiate its own dependencies.(http://www.blackwasp.co.uk/DependencyInjection.aspx)

       




Example

        public interface ITruck
        {
            void Go(double distance);
        }


        public class Truck : ITruck
        {
            public double Consumption{ get; set; }
            public void Go(double distance)
            {
                double necessary_fuel = Consumption * distance;
            }
        }


        public interface IRoute
        {
            void AddTruck(ITruck dependency);
        }


        public class Route : IRoute
        {
            ITruck _truck;
            public double Distance { get; set; }

            public void AddTruck(ITruck truck)
            {
                _truck = truck;
            }

            public void TruckGo()
            {
                _truck.Go(Distance);
            }
        }


            Route route = new Route();
            route.Distance = 100;

            Truck truck = new Truck();
            truck.Consumption = 20;
           
            route.AddTruck(truck);

            route.TruckGo();





C# System.Security AccessControl

C# > System.Security > AccessControl

With AccessControl you can control, access and audit security related actions on securable objects.









    C# > System.Security

    C# > System.Security

    • NET Framework security system
    • provide access to authentication
    • provide crytographic services
    • control access to operations based on policy
    • rights management of application-created content
    Classes





      Friday, December 19, 2014

      Dynamic Type C# Example

      C# > Types > dynamic

      The dynamic enables bypass compile-time type checking. These operations are resolved at run time. 
      Example

      dynamic dyn = 1;
      object obj = 1;

      var dyn_type = dyn.GetType(); // System.Int32
      var obj_type = obj.GetType(); // System.Int32

      dyn = dyn + 1; //Ok
      obj = obj + 1; // Error    1      Operator '+' cannot be applied to operands of type 'object' and 'int'








      Object Type C# Example

      C# > Types > object

       You can assign values of any type to variables of type object

      Example

      object obj;
      obj = 1; 
      string type =  obj.GetType().Name; //Int32
         
      obj = "string";
      type = obj.GetType().Name; //String








      Thursday, December 18, 2014

      Dns Get Host By Name C# Example

      C# > System.Net > Dns

      Retrieves information about a specific host from the Internet Domain Name System (DNS).

      Example

        IPHostEntry hostInfo = Dns.GetHostByName("www.microsoft.com");
        string hostName = hostInfo.HostName;
        IPAddress[] addressList = hostInfo.AddressList;
        foreach (IPAddress ipAddress in addressList)
        {
                    

        }










      Monday, December 15, 2014

      C# System.Net

      C#System.Net

      Provides  programming interface for:

      • network protocols
      • cache policies
      • e-mail
      • network traffic data and network address information
      • networking functionality
      Classes:
      Namespaces










      STR SQL Server Example

      SQL Server > Built-in Functions > STR

      Converts number to varchar.


      STR ( expression , length , decimal )
      
      
      Example:

      SELECT STR(123.45, 6, 1);

      GO

      result
       123.5





      Assembly Class C# Example

      C# > System > Reflection > Assembly

      Assembly class:

      • load assemblies
      • explore the metadata 
      • find the types contained in assemblies and to create instances of those types.




      Example


      using System;
      using System.Collections.Generic;
      using System.ComponentModel;
      using System.Data;
      using System.Drawing;
      using System.Linq;
      using System.Reflection;
      using System.Text;
      using System.Threading.Tasks;
      using System.Windows.Forms;

      namespace WindowsFormsApplication27
      {
          public partial class Form1 : Form
          {
              public Form1()
              {
                  InitializeComponent();
              }

              private void Form1_Load(object sender, EventArgs e)
              {
                  Assembly a = typeof(Form1).Assembly;
                  MessageBox.Show(a.FullName);
              }
          }
      }





      Reflection C#

      C# > System > Reflection

      Reflection provides objects that encapsulate assemblies, modules and types.
      With reflection you can read metadata for finding assemblies, modules and types information at runtime. 
      These objects also can be used to manipulate instances of loaded types.







      Friday, December 5, 2014

      Func C# Example

      C# System Func

      Func is a parameterized type. 

      • accepts any number and kinds of input parameters
      • one type of the return value T
      • stores anonymous methods 
      Example

      1. Func<T, TResult>


      Func<int, int> power = p => p * p;
      int[] numbers = { 1, 2, 3 };
      IEnumerable<int> powers = numbers.Select(power);
      foreach (int p in powers)
           Console.WriteLine(p);




      Dynamic Language Runtime C#

      C# System > Dynamic

      Dynamic Language Runtime.






      Dynamic Object Runtime C# Example

      C# > Sytem.Dynamic > DynamicObject

      DynamicObject specifies dynamic behavior at run time.






      Example:

      Create dynamic object in runtime.

      Dynamically Add C# Properties at Runtime.


      using System;
      using System.Collections.Generic;
      using System.ComponentModel;
      using System.Data;
      using System.Drawing;
      using System.Dynamic;
      using System.Linq;
      using System.Text;
      using System.Threading.Tasks;
      using System.Windows.Forms;

      namespace WindowsFormsApplication26
      {
          public class MyDynamicObject : DynamicObject
          {
              Dictionary<string, object> dictionary = new Dictionary<string, object>();
              public object this[string propertyName]
              {
                  get
                  {
                      return dictionary[propertyName];
                  }
                  set
                  {
                      dictionary[propertyName] = value;
                  }
              }
              public override bool TryGetMember(
                  GetMemberBinder binder, out object result)
              {
                  return dictionary.TryGetValue(binder.Name, out result);
              }
              public override bool TrySetMember(
                  SetMemberBinder binder, object value)
              {
                  dictionary[binder.Name] = value;
                  return true;
              }
            
              public override bool TrySetIndex(
                  SetIndexBinder binder, object[] indexes, object value)
              {
                  int index = (int)indexes[0];
                  if (dictionary.ContainsKey("Property" + index))
                      dictionary["Property" + index] = value;
                  else
                      dictionary.Add("Property" + index, value);
                  return true;
              }
          }
          public partial class Form1 : Form
          {
              public Form1()
              {
                  InitializeComponent();
              }

              private void Form1_Load(object sender, EventArgs e)
              {
                  dynamic obj = new MyDynamicObject();
                  obj["column1"] = 1;
                  obj.column2 = 2;

                  var v1 = obj["column1"];
                  var v2 = obj.column2;
              }
          }
      }







      Wednesday, November 19, 2014

      Telerik RadTimePicker Get Selected Time

      Telerik > RadTimePicker > Get Time


      Get selected time from RadTimePicker c#.


      DateTime dt = radTimePicker.SelectedDate.Value;
      string time = dt.ToString("HH:mm:ss");






      Monday, November 17, 2014

      Call one constructor from another c#

      CKeywords > ThisCall one constructor from another 



            public Constructor1()
            {
            }

            public Constructor2(string writer) : this()
            {
            }