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

自定义MSbuild任务中的必需标记,msbuild,msbuild-task,Msbuild,Msbuild Task,如何知道是否在没有[必需]标志的属性上传入了值 不需要且未传入的字符串的值是多少?如果它是一个空字符串,那么您如何知道它与调用者发送的空字符串的区别呢?您无法分辨出区别。如果任务未在任务构造函数中设置默认值,则两者都将为null 我不知道这是否会对自定义任务产生影响。如果参数为null或空--String.IsNullOrEmpty()--则任务应转移到该特定值的默认逻辑中。您无法分辨差异。如果任务未在任务构造函数中设置默认值,则两者都将为null 我不知道这是否会对自定义任务产生影响。如果参数

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


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

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


我不知道这是否会对自定义任务产生影响。如果参数为null或空--
String.IsNullOrEmpty()
--则任务应转移到该特定值的默认逻辑中。

您无法分辨差异。如果任务未在任务构造函数中设置默认值,则两者都将为null


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

如果需要知道是否设置了值,则可以在属性中设置标记,例如

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

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

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


我的书:

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

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

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

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

我的书: