C#WPF"私人"匿名类型成员

时间:2015-11-30 02:32:13

标签: c# wpf

# Match any query string in the raw request
RewriteCond THE_REQUEST \?[^=]+
RewriteRule .* badstuff.php [L,QSA]

#... Then the other rules

正如您所看到的,有一个名为" private"的Type成员。当然,当我输入它时,会弹出一条消息并告诉我:

  

"无效的表达术语' private'"

投入"私人"内部引用将返回此错误:

  

"无效的匿名类型成员声明符。 bla bla bla ..."

有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:6)

这可以通过使用语法来解决:

create or replace view highesttotalcommission as
    select *
    from  (select (e.firstname || ' ' || e.lastname) as "Highest commission"
           from employee e inner join
                salesperson sp
                on e.employeeID = sp.employeeID inner join
                salesinvoice si
                on si.salespersonid = e.employeeID
            group by si.salespersonid, e.firstname|| ' ' ||e.lastname
            order by SUM(si.price * sp.commissionpct) desc
          ) e
    where ROWNUM = 1;

请注意使用@private = true, where the @ changes how the compiler interprets the source code);并将@private更改为;以避免其他语法错误。

  

关键词[即。 ,]是预定义的保留标识符,对编译器具有特殊含义。它们不能用作程序中的标识符,除非它们包含@作为前缀。例如,private [即。 @if]是有效的标识符,但@private [即。 if]不是因为if是关键字。

替代方法,创建一个非匿名类型(具有更好的代码友好成员名称)并应用private[JsonProperty]属性将序列化名称更改为“私有”'

答案 1 :(得分:2)

private是C#框架的保留关键字,不能在程序中用作标识符。如果您尝试编写string private = "sometext";,则编译器将通过自己声明Identifier 'private' is a keyword抛出异常。 因此,您应该将道具名称定义为@private

或者您应该在序列化时通知serialize将其命名为私有。