1

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

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

4

2 回答 2

1

如果您需要知道是否设置了一个值,那么您可以在您的属性中创建一个标志,例如

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

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

...更多在这里

}

因此,您只需检查 mNameSet 标志即可查看该属性是否已设置。赛义德·易卜拉欣·哈希米

我的书:Microsoft Build Engine 内部:使用 MSBuild 和 Team Foundation Build

于 2009-07-04T14:43:49.440 回答
0

你无法区分。如果任务未在任务构造函数中设置默认值,则两者都将为空。

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

于 2009-06-05T17:33:40.837 回答