C# Coding Standards

C# Coding Standards here

Advertisements

String.Format() In JavaScript As In C#

This is a cool script that gives the same effect as the C# string formating with multiple parameters. Check it out:

function format(str)

{

  for(i = 1; i < arguments.length; i++)

  {

    str = str.replace(‘{‘ + (i – 1) + ‘}’, arguments[i]);

  }

  return str;

}

Example: <font color=”#008000″>greeting = format(‘Hello {0} & {1} ‘, ‘John’, ‘Jane’);</font>

C# Reflection

This class can instantiate any class, from any namespace, with any kind and amount of parameters.
You only need to have in the instantiated class constructor, the code you need to execute without having to do a reflection on methods of the class and call them in a second step:

public class Factory

{

  public Factory(object[] args, string className, string nameSpace)

  {

    string type = namespace + “.” + className;

    ((Assembly)assemblies[type]).CreateInstance(type,false,BindingFlags.CreateInstance,null,args,null,null);

  }

}

Writing C# Code In Xslt

Many things cannot be done in xslt directly due to a lack of manipulation functions. In order to cure that, Microsoft has provided a way to include c# code directly in xslt. Here’s an example:

<?xml version=1.0 encoding=utf-8 ?>

  <xsl:stylesheet version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform xmlns:msxsl=urn:schemas-microsoft-com:xslt xmlns:ClassNameHere=dummy namespace here>

    <msxsl:script language=C# implements-prefix=ClassNameHere>

      <![CDATA[

        public string MethodName(/* some parameters here*/)

        {

          return /*something*/;

        }

    ]]>

  </msxsl:script>

  <xsl:template match=//Some Node>

    <xsl:value-of select=ClassNameHere:MethodName(SomeNodeHere)/>

  </xsl:template>

</xsl:stylesheet>

Using Resources In .Net

Create .resx file and use this code:

string myValue = Resources.Messages.ResourceManager.GetString(myKey);

Where in resource file:

<data name=myKey xml:space=preserve>

  <value>myValue</value>

</data>

Deserialize XML string

Use this following static method to convert any xml to its object representation 

public static object ToObject(Type objectType, string xml)

{

  object obj = null;

  try

  {

    XmlSerializer xs = new XmlSerializer(objectType);

    obj = xs.Deserialize(new StringReader(xml));

  }

  catch (Exception ex)

  {

  }

  return obj;

}