psisContainer: Filter Directories using Powershell

To filter the folders (i.e., directories) available in the current context, the following property can be used with a predicate:$_.psiscontainer

In essence, it returns a boolean indicating whether the current object is a directory or not. Hence, the following script prints the absolute path of the each sub-directories from the current context.

ls –r | ?{$_.psiscontainer} | select fullname

Code Snippet: Adding a File to .net Resource

Last few days, I was thinking to jot down all the code snippet that I used very frequently.  Here comes the first one –

Today’s post will be covering a simple aspect of every .net project where one has to add files in Resource and get it from there for further processing.

To Add & Get the file from the resource , we have to –

1. Select the file that we want to put in the resource –

image

 

And from the property window, set the Build Action = “Embedded Resource”.

 

2. To get file from the resource, we have to write following few lines of codes –

 

image

In this code snippet , as we can see , I am getting the resource from the Assembly Menifest and returning it as XmlReader to the caller as –

 

image

And we are done.

Interface 101: Explicit Interface Implementation using C#

The primary motivation of introducing inerface is to enforce OO-style of thinking while revoking the drawbacks of multiple inheritance. In fact, the support for explicit interface implementation is an important tool in OO-developers’ toolbox. Utilizing this concept, we can implement multiple interfaces in a class, and still no ambiguity gets introduced.

In fact, explicit interface implementation ensures private accessibility via interface reference. That is, in order to access any member of a class that implements an interface explicitly, an interface reference is required, which supports the concept called “Run-time Bindings“, and introduces a higher level of abstraction.

In the rest of the post we focus on following–

glyphicons Defining interfaces,
glyphicons Implementation of the interfaces explicitly,
glyphicons Advantages of explicit interface implementation.

To do so, we start by defining interfaces and shows how to apply explicit interface implementation using an example. Please note that, this is a simple and contrived example, intended only to be illustrative.

The following class Calculator implements both interfaces using explicit interface implementation.

Now that we have implemented these interfaces, next we see outlines several examples to show how to use this implementation. The first example below tries to use the Add method without interface reference.

Therefore, it gets a compile time error as the implementation is private and can only be accessed via interface reference as follows.

As we have notice that the both interfaces have Add as a member. In fact, Calculator class also implements both Add method via polymorphic references. Next example shows how to invoke ICalculator.Add by using an instance of Calculator.

To sum up, the key take-aways from this discussion regarding explicit interface implementation are as follows.

glyphicons It make the whole implementation Abstract/Private . That is , you need the interface reference to access that implementation.

glyphicons It allow you to implement multiple Interface and at the same time, does not introduce any ambiguity. So, the polymorphic reference or runtime binding can be implement very efficiently.

We highly appreciate any comment or query regarding this post. Thanks!

See More


Revisions

[R-1: 02-04-2013] Updated formatting to make this post more consistent with current CSS.