Быстрое ArgumentNullException с атрибутами. Это возможно? - PullRequest
3 голосов
/ 17 мая 2010

Есть ли быстрый способ проверить нулевые аргументы через атрибуты или что-то?

Преобразовать это:

public void Method(type arg1,type arg2,type arg3)
{
     if (arg1== null) throw new ArgumentNullException("arg1");
     if (arg2== null) throw new ArgumentNullException("arg2");
     if (arg3== null) throw new ArgumentNullException("arg3");
     //Business Logic
}

На что-то вроде этого:

[VerifyNullArgument("arg1","arg2","arg3")]
public void Method(type arg1,type arg2,type arg3)
{
      //Business Logic
}

Идеи? спасибо, ребята.

Ответы [ 3 ]

4 голосов
/ 17 мая 2010

В .NET 4 встроены кодовые контракты . Вероятно, это так близко, как вы получите. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *.

3 голосов
/ 17 мая 2010

Вы ищете PostSharp .

0 голосов
/ 17 мая 2010

не атрибут, но похожая идея:

class SomeClass
{
    public static void VerifyNullArgument(params object objects)
    {
        if (objects == null)
        {
            throw new ArgumentNullException("objects");
        }

        for (int index = 0; index < objects.Lenght; index++)
        {
            if (objects[index] == null)
            {
                throw new ArgumentException("Element is null at index " + index,
                    "objects");
            }
        }
    }
}

тогда в вашем примере метод

public void Method(type arg1,type arg2,type arg3)
{
    SomeClass.VerifyNullArgument(arg1, arg2, arg3);
    //Business Logic
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...