我在Sharepoint 2010中有一个奇怪的分类过滤,但我可以在所有3台服务器上复制它.
以下是该场景的演绎方式:
现在,此时我运行我的导入作业,将项目添加到另一个列表.第二个列表还有一个指向termSet的托管元数据字段.
清单1过滤不起作用.列表2过滤,绝对不起作用.
究竟发生了什么.我选择一个顶级术语,它应该包括所有子项.在大量插入使用术语集中的术语的列表项之前,它完美地完成了这一操作.在插入之后,当我选择顶级术语时,我得到一个空的设置,并且没有包含后代的按钮.
我正在调查这个隐藏的列表,这与我注意到的过滤有很大关系.过滤主要检查这一点(尚不确定如何/为什么).
其他人有这个问题吗?关于此的唯一文档来源是Microsoft Sharepoint Evangelical Blogs(Marketing),没有详细说明为什么这不起作用.
请协助.
我有一个持久的对象,为了这个问题,我将开车CAR类.
public class Car
{
public string model {get;set}
public int year {get;set}
}
Run Code Online (Sandbox Code Playgroud)
显然非常简化.
现在,随着代码的开发,我自然地创建了一个接受CAR作为参数的函数.例如:
public void PaintCar (Car theCar)
{
//Does some work
}
Run Code Online (Sandbox Code Playgroud)
到目前为止这么好,但后来我有一个场景,我需要另一个类,这与CAR非常相似,但汽车缺少一些字段.没问题我想OOP救援,我将继承Car,最终得到:
public class SuperCar : Car
{
public string newProp {get;set}
// and some more properties
}
Run Code Online (Sandbox Code Playgroud)
所有的一切看起来都很好看,直到我遇到了一个非常有用的实用功能,我用来填充汽车的原始属性.
Public void SetCarProperties(Car theCar)
{
//sets the properties for car here
}
Run Code Online (Sandbox Code Playgroud)
我想mmm,我希望我可以使用相同的函数来设置我的superCar类的属性而不需要覆盖.我也不想更改基本汽车定义以包含superCar类的所有属性.
在这一点上,我陷入了两难境地.覆盖可以工作,但这是额外的工作.有更优雅的解决方案吗?基本上我想通过超类传递给期望基类的函数.这可能与c#有关吗?
我的最终代码结果如下:
Car myCar = new Car();
SetCarProperties(myCar); // ALL GOOD
SuperCar mySuperCar = new SuperCar();
SetCarProperties(mySuperCar); // at the moment this function …Run Code Online (Sandbox Code Playgroud) 我在代码库中遇到了一个抛出错误的函数:
public static T InternalData<T>()
{
return (T)"100";
}
Run Code Online (Sandbox Code Playgroud)
显然我已经简化了代码并添加了"100"作为文字字符串值.T是类型int.
它抛出一个:
System.InvalidCastException:指定的强制转换无效.
看来你不能隐含地将字符串转换为intC#,如何修复这段代码以便它可以处理转换任何泛型类型?
实际代码看起来像这样:
public static T InternalData<T>()
{
return (T) something (not sure of type or data);
}
Run Code Online (Sandbox Code Playgroud) 我有一个datagrid:
<DataGrid x:Name="gvImports"
HorizontalAlignment="Left"
AutoGenerateColumns="False"
Margin="10,36.816,0,0"
VerticalAlignment="Top"
Height="163.087" Width="485.05">
</DataGrid>
Run Code Online (Sandbox Code Playgroud)
然后我在C#中设置单元格边框样式:
var cellStyle = new Style(typeof(DataGridCell));
cellStyle.Setters.Add
(new Setter(DataGridCell.BorderBrushProperty, Brushes.Magenta));
gvImports.CellStyle = cellStyle;
Run Code Online (Sandbox Code Playgroud)
请注意攻击性洋红色仅用于演示目的.
这是渲染时DataGrid的图像:

我想摆脱那些内在的黑线,不知道这是怎么做到的?
假设我有一个名为Shape的基类.然后是一些子类,如圆形和方形.
然后让我们在另一个名为GetShape的类中创建一个方法:
public Shape GetShape()
{
return new Circle();
}
Run Code Online (Sandbox Code Playgroud)
好吧,所以我的想法是,我可以传入一个shapeType,然后返回一个强类型的Shape子类.上面的例子是对实际代码的大规模简化,但我认为它得到了重点.
那么当我调用这个方法时它会是什么样子
var shapeCreator = new ShapeCreator();
Circle myCircle = shapeCreator.GetShape();
Run Code Online (Sandbox Code Playgroud)
唯一的问题是它甚至不会运行,因为它需要一个演员表.
这实际上有效:
Circle myCircle = (Circle) shapeCreator.GetShape();
Run Code Online (Sandbox Code Playgroud)
关于那个演员,我并不狂热,我怎么能避免它,并且仍然有办法让一个方法返回一个基类,这样我就可以返回任何兼容的子类.
我想知道为什么我无法在visual studio 2008中看到所有页面事件,当我点击事件组合框时,只有page_load事件在那里.如何在组合中查看所有页面生命周期事件,我可以单击它来生成事件模板?
我曾经记得看到VS2008的插件或东西.它由Microsoft提供,是最佳实践的一部分.基本上每次项目构建时都会检查代码以确保所有属性都有注释等.
请有人帮我记住它的名字吗?
我正在运行StyleCop(如果您想提供高质量的代码,我会完全建议您这样做)...
我有这条线
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable=false)]
Run Code Online (Sandbox Code Playgroud)
更新也尝试过
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)]
Run Code Online (Sandbox Code Playgroud)
StyleCop正在报告错误
Warning 2 SA1003: The spacing around the symbol '=' is invalid.
Run Code Online (Sandbox Code Playgroud)
如果这无效,那么什么有效?
是否可以在运行时在C#中评估以下内容
我有一个包含3类属性(Field,Operator,Value)
rule.Field;
rule.Operator;
rule.Value;
Run Code Online (Sandbox Code Playgroud)
这是我的规则类......
现在我有一个循环
foreach(item in items)
{
// here I want to create a dynamic expression to evaluate at runtime
// something like
if (item.[rule.field] [rule.operator] [rule.value])
{ do work }
}
Run Code Online (Sandbox Code Playgroud)
我只是不知道语法,或者它是否可能在C#中,我在JS中知道它可能但是这不是编译语言.
更新
基本上我想要一种方式eval(stringCode)或更好的支持方式.
我在IIS7中创建了一个网站(虚拟目录).
现在由于某种原因,我在网站上创建了1个文件夹,它具有只读权限.无论我做什么,我都无法摆脱只读旗帜.
我试过了: