如何设置值为枚举的 属性
How to set a property whose value is an enum
我是 C# 和 .NET Framework 的新手。我正在为 Bing 索引中的 "block" URL 构建一个小型控制台应用程序,因为它们被意外编入索引。我正在使用 Bing Webmaster API 来执行此操作。
我不明白如何设置 BlockedUrl 对象的两个属性(EntityType and RequestType). The BlockedUrl object is passed to AddBlockedUrl 发送阻止请求时。
为 Url, Date, and DaysToExpire 设置 属性 值是有意义的 - 它们分别被赋予字符串、DateTime 和 DaysToExpire 值,如它们的签名所示。
根据 EntityType 的签名:
public BlockedUrl.BlockedUrlEntityType EntityType { get; set; }
我不明白 BlockedUrl.BlockedUrlEntityType 或我将如何使用它。 RequestType 属性 类似。
我当前的代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string url = "https://url/dir/path/";
var api = new WebmasterApi.WebmasterApiClient();
var blockedURLObj = new WebmasterApi.BlockedUrl();
blockedURLObj.Url = url;
blockedURLObj.Date = new DateTime(2018, 5, 8, 8, 00, 00);
blockedURLObj.DaysToExpire = 90;
blockedURLObj.EntityType = "Directory"; //error: "Cannot implicitly convert type 'string' to ConsoleApp1.WebmasterApi.BlockedUrl.BlockedUrlEntityType"
blockedURLObj.RequestType = "FullRemoval"; //error: "Cannot implicitly convert type 'string' to ConsoleApp1.WebmasterApi.BlockedUrl.BlockedUrlRequestType"
try
{
api.AddBlockedUrl(url, blockedURLObj);
Console.WriteLine("Success!");
Console.ReadLine();
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
Console.ReadLine();
}
}
}
BlockedUrl.BlockedUrlEntityType
是一个枚举
所以你需要像
这样的东西
blockedURLObj.EntityType = BlockedUrl.BlockedUrlEntityType.Directory;
blockedURLObj.RequestType = BlockedUrl.BlockedUrlRequestType.FullRemoval;
这里有更多关于枚举的信息
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/enum
EntityType 属性 应使用此处规定的枚举值进行设置:https://msdn.microsoft.com/en-us/library/hh969362.aspx
RequestType 属性应使用此处规定的枚举值进行设置:https://msdn.microsoft.com/en-us/library/hh969383.aspx
例如:
blockedURLObj.EntityType = BlockedUrl.BlockedUrlEntityType.Directory;
blockedURLObj.RequestType = BlockedUrl.BlockedUrlRequestType.FullRemoval;
所以 EntityType
和 RequestType
看起来像枚举。您可以通过 blockedURLObj.RequestType = WebmasterApi.BlockedUrl.BlockedUrlRequestType.FullRemoval;
和 blockedURLObj.EntityType = WebmasterApi.BlockedUrl.BlockedUrlEntityType.Directory;
进行设置
我是 C# 和 .NET Framework 的新手。我正在为 Bing 索引中的 "block" URL 构建一个小型控制台应用程序,因为它们被意外编入索引。我正在使用 Bing Webmaster API 来执行此操作。
我不明白如何设置 BlockedUrl 对象的两个属性(EntityType and RequestType). The BlockedUrl object is passed to AddBlockedUrl 发送阻止请求时。
为 Url, Date, and DaysToExpire 设置 属性 值是有意义的 - 它们分别被赋予字符串、DateTime 和 DaysToExpire 值,如它们的签名所示。
根据 EntityType 的签名:
public BlockedUrl.BlockedUrlEntityType EntityType { get; set; }
我不明白 BlockedUrl.BlockedUrlEntityType 或我将如何使用它。 RequestType 属性 类似。
我当前的代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
string url = "https://url/dir/path/";
var api = new WebmasterApi.WebmasterApiClient();
var blockedURLObj = new WebmasterApi.BlockedUrl();
blockedURLObj.Url = url;
blockedURLObj.Date = new DateTime(2018, 5, 8, 8, 00, 00);
blockedURLObj.DaysToExpire = 90;
blockedURLObj.EntityType = "Directory"; //error: "Cannot implicitly convert type 'string' to ConsoleApp1.WebmasterApi.BlockedUrl.BlockedUrlEntityType"
blockedURLObj.RequestType = "FullRemoval"; //error: "Cannot implicitly convert type 'string' to ConsoleApp1.WebmasterApi.BlockedUrl.BlockedUrlRequestType"
try
{
api.AddBlockedUrl(url, blockedURLObj);
Console.WriteLine("Success!");
Console.ReadLine();
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
Console.ReadLine();
}
}
}
BlockedUrl.BlockedUrlEntityType
是一个枚举
所以你需要像
这样的东西blockedURLObj.EntityType = BlockedUrl.BlockedUrlEntityType.Directory;
blockedURLObj.RequestType = BlockedUrl.BlockedUrlRequestType.FullRemoval;
这里有更多关于枚举的信息 https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/enum
EntityType 属性 应使用此处规定的枚举值进行设置:https://msdn.microsoft.com/en-us/library/hh969362.aspx
RequestType 属性应使用此处规定的枚举值进行设置:https://msdn.microsoft.com/en-us/library/hh969383.aspx
例如:
blockedURLObj.EntityType = BlockedUrl.BlockedUrlEntityType.Directory;
blockedURLObj.RequestType = BlockedUrl.BlockedUrlRequestType.FullRemoval;
所以 EntityType
和 RequestType
看起来像枚举。您可以通过 blockedURLObj.RequestType = WebmasterApi.BlockedUrl.BlockedUrlRequestType.FullRemoval;
和 blockedURLObj.EntityType = WebmasterApi.BlockedUrl.BlockedUrlEntityType.Directory;