自定义MSbuild任务中的必需标记

时间:2009-06-03 17:19:56

标签: msbuild msbuild-task

如何知道是否在没有[Required]标志的属性上传入了值。

不需要且未传入的字符串的值是多少?如果它是一个空字符串,那么你如何知道调用者发送的空字符串的区别?

2 个答案:

答案 0 :(得分:1)

如果你需要知道是否设置了值,那么你可以在你的财产中制作一个标志,例如

public MyTask : Task
{
    private string mName;
    private bool mNameSet;

    public string Name
    {
        get{return mName;}
        set
        {
            mName = value;
            mNameSet = true;
        }
    }

...更多

}

因此,您只需检查mNameSet标志即可查看属性是否已设置。 Sayed Ibrahim Hashimi

我的书:Inside the Microsoft Build Engine : Using MSBuild and Team Foundation Build

答案 1 :(得分:0)

你无法分辨出来。如果任务没有在任务构造函数中设置默认值,则两者都将为null。

我不知道它是否应该对自定义任务产生影响。如果参数为null或空--- String.IsNullOrEmpty() ---那么任务应该分支到该特定值的默认逻辑。