0

在 VB 中

   Protected Overridable ReadOnly Property AuthorizationHeaderValue(ByVal signature As       String) As String
Get
    Return String.Format("{0} {1}:{2}", AuthorizationHeaderSignaturePrefix, APIIdentifier, signature)
End Get
End Property

我在 C# 中有什么:

    protected virtual string AuthorizationHeaderValue
    {
        get { return string.Format("{0} {1}:{2}", AuthorizationHeaderSignaturePrefix, APIIdentifier, signature); }
    }

我在 C# 中收到此错误:

当前上下文中不存在名称“签名”...

这对我来说似乎很明显,因为当我转换代码时它会删除 ( ByVal signature as String)。

想法?

4

1 回答 1

3

您的 C# 代码的问题是属性主体需要一个变量签名,但您没有定义具有该名称的变量。

C# 不允许属性像 VB.Net 那样具有参数(每个类一个索引器除外)。考虑将其转换为方法。

protected virtual string AuthorizationHeaderValue(string signature)
{
    return string.Format("{0} {1}:{2}", AuthorizationHeaderSignaturePrefix, 
          APIIdentifier, signature);
}
于 2012-08-20T02:09:24.940 回答