1
Vote

How to exclude the delegate and abstract methods

description

Hi ,

I am facing the compilation error (object reference not set to instance of the object ) when i use the method point cut for the Abstract class which is having the delegate and abstract methods.

Can some one tell me how should i exclude those methods or building app with out any complication errors.


The Sample class is like below

public abstract class LoggingAspectBase
{
    public delegate void Error(string ccsiControllerApplicationException);
    //public event Error OnError;
    protected abstract string Title();

    public void Test2()
    {

    }
}

comments

hendryluk wrote Sep 12, 2014 at 9:10 AM

You can use "Abstract" to filter abstract types on your pointcut expression.
E.g. to filter out methods of abstract classes: SelectMethods("!Type:Abstract")

hendryluk wrote Sep 12, 2014 at 9:13 AM

Errata: should be InType, not Type.
I.e. [SelectMethods("!InType:Abstract")], or [SelectMethods("InType: !Abstract")]

madhanpn wrote Sep 13, 2014 at 3:09 AM

Will the above SAQL gives me the method "public void test2()"? if not is there any other way of ignoring only the specific methods?

alladisai wrote Sep 13, 2014 at 9:15 AM

Hi hendryluk,

Thanks for replying . I have tested using the Above SAQL . It's ignoring the Whole class instead of the
abstract method.

is there any way to solve this issue. we want exclude abstract method as well as delegate also.


@madhanpn : No it's not giving the method test2() from the abstract class. instead it's ignoring the whole class.

alladisai wrote Sep 18, 2014 at 6:15 AM

Hi hendryluk,

Did you get the chance to look in to the above issue. We are struck with above problem , could you please help me with solving the above issue.


Thanks & Regards
Sai baba