我正在尝试使用NetUseAdd添加应用程序所需的共享.我的代码看起来像这样.
[DllImport("NetApi32.dll", SetLastError = true, CharSet = CharSet.Unicode)]
internal static extern uint NetUseAdd(
string UncServerName,
uint Level,
IntPtr Buf,
out uint ParmError);
Run Code Online (Sandbox Code Playgroud)
...
USE_INFO_2 info = new USE_INFO_2();
info.ui2_local = null;
info.ui2_asg_type = 0xFFFFFFFF;
info.ui2_remote = remoteUNC;
info.ui2_username = username;
info.ui2_password = Marshal.StringToHGlobalAuto(password);
info.ui2_domainname = domainName;
IntPtr buf = Marshal.AllocHGlobal(Marshal.SizeOf(info));
try
{
Marshal.StructureToPtr(info, buf, true);
uint paramErrorIndex;
uint returnCode = NetUseAdd(null, 2, buf, out paramErrorIndex);
if (returnCode != 0)
{
throw new Win32Exception((int)returnCode);
}
}
finally
{
Marshal.FreeHGlobal(buf);
}
Run Code Online (Sandbox Code Playgroud)
这在我们的服务器2003盒子上工作正常.但是在尝试转移到Server …
我不确定使用C枚举的正确语法是什么.我有以下代码:
enum {RANDOM, IMMEDIATE, SEARCH} strategy;
strategy = IMMEDIATE;
Run Code Online (Sandbox Code Playgroud)
但这不会编译,出现以下错误:
error: conflicting types for ‘strategy’
error: previous declaration of ‘strategy’ was here
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我们有一些东西可以导出成各种格式.目前我们有这样的格式由枚举表示如下:
[Flags]
public enum ExportFormat
{
None = 0x0,
Csv = 0x1,
Tsv = 0x2,
Excel = 0x4,
All = Excel | Csv | Tsv
}
Run Code Online (Sandbox Code Playgroud)
问题是必须枚举这些,并且它们还需要在ui中进行翻译或描述.目前我通过创建两个扩展方法解决了这个问题 他们工作,但我真的不喜欢他们或解决方案......他们觉得有点臭.问题是我真的不知道如何做得更好.有没有人有任何好的选择?这是两种方法:
public static IEnumerable<ExportFormat> Formats(this ExportFormat exportFormats)
{
foreach (ExportFormat e in Enum.GetValues(typeof (ExportFormat)))
{
if (e == ExportFormat.None || e == ExportFormat.All)
continue;
if ((exportFormats & e) == e)
yield return e;
}
}
public static string Describe(this ExportFormat e)
{
var r = new List<string>();
if ((e & ExportFormat.Csv) == ExportFormat.Csv) …Run Code Online (Sandbox Code Playgroud) 我的GroupStyle标题永远不会出现在组合框中....
分组工作正常......这是一个具有约束力的问题,但我无法弄明白.
<ComboBox Height="23" Margin="33,45,125,0" Name="comboBox1" VerticalAlignment="Top" ItemsSource="{Binding}" >
<ComboBox.ItemTemplate>
<DataTemplate>
<Border Background="Red">
<TextBlock Text="{Binding Path=value}" />
</Border>
</DataTemplate>
</ComboBox.ItemTemplate>
<ComboBox.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<StackPanel>
<TextBlock FontSize="12" FontWeight="Bold" Foreground="DarkGray">
<Button Content="{Binding Path=Location}"/>
<TextBlock Text="{Binding Path=Location}" />
<Button>bbbb</Button>
</TextBlock>
<ItemsPresenter/>
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ComboBox.GroupStyle>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
和代码背后
public class Store
{
public string Location { get; set; }
public string value { get; set; }
}
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
var myData = new …Run Code Online (Sandbox Code Playgroud) 数据库的新手,所以不要对简单的问题感到不满.就我的谷歌和聚集的知识规范化而言,减少了数据的冗余并提高了性能.但实际上,我不明白将主表划分为其他小表,应用它们之间的关系,使用所有可能的联合,子查询,联接等检索数据的确切原因.为什么我们不能拥有所有数据单个表并根据需要检索它们.我有点困惑.
我们很快就会招聘一名.NET开发人员,并且我被指派创建一个测试,这将需要aprox:1h来解决.测试程序员(主要是)C#和ASP.NET中的知识.
这是我到目前为止所提出的:
提前致谢!
cfproperty标签定义的变量和ColdFusion中的变量范围变量有什么区别?
我有Java语言经验,你能比较ColdFusion cfproperty变量,变量范围变量到Java实例变量和类变量吗?
谢谢!
我发现了很多存储库模式的例子,所有这些都显示了存储库管理它自己的连接生命周期.我想知道人们如何处理他们希望在多个存储库之间共享单个连接的情况?
我问的主要原因是因为当我使用TransactionScope创建一个事务时,我真的不希望它升级到DTC事务.虽然设置简单,但它似乎有点重量级.
我在想的是使用类似于TransactionScope的东西来管理连接生命周期.但是,似乎是将数据访问链接到业务流程一点点.我的意思是:
//As DataScope will handle connections, then repositories will be created from them
//in order to share the connection.
using(DataScope scope = new DataScope())
{
scope.GetRepository<CustomerRepository>.FindById(10)
}
Run Code Online (Sandbox Code Playgroud) 我有一个类,它序列化一组对象(使用XML序列化),我想要进行单元测试.
我的问题是感觉我将测试XML序列化的.NET实现,而不是任何有用的.我还有一个轻微的鸡蛋和鸡蛋场景,为了测试Reader,我需要一个由Writer生成的文件来这样做.
我认为问题(有3个但它们都有关系)我最终都在寻找反馈意见:
关于Xml序列化的背景信息
我没有使用模式,因此所有XML元素和属性都与对象的属性相匹配.由于没有架构,因此XmlSerializer会忽略与每个对象的属性中找不到的架构/属性不匹配的标签/属性(因此属性的值为null或默认值).这是一个例子
<MyObject Height="300">
<Name>Bob</Name>
<Age>20</Age>
<MyObject>
Run Code Online (Sandbox Code Playgroud)
会映射到
public class MyObject
{
public string Name { get;set; }
public int Age { get;set; }
[XmlAttribute]
public int Height { get;set; }
}
Run Code Online (Sandbox Code Playgroud)
反之亦然.如果对象更改为以下,则XML仍将成功反序列化,但FirstName将为空.
public class MyObject
{
public string FirstName { get;set; }
public int Age { get;set; }
[XmlAttribute]
public int Height { get;set; }
}
Run Code Online (Sandbox Code Playgroud)
无效的XML文件将正确反序列化,因此除非您对MyObject的值运行断言,否则单元测试将通过.
我有一个页面,其表单通过ajaxSubmit()提交(因此,不更改页面).
我的目标是,当用户尝试更改页面(甚至关闭浏览器)时,我问他是否真的想要退出页面而不发送表单(就像gmail一样).
例如,Gmail使用window.confirm-like弹出窗口执行此操作,但如果可行,我将使用自定义消息和选项来处理它.
jQuery有卸载事件:
$(window).unload( function () { alert("Bye now!"); } );
Run Code Online (Sandbox Code Playgroud)
但它允许我在退出页面之前做一些事情; 如果用户单击相对按钮,我需要"阻止"页面退出.
那么,如何处理(和取消)页面退出事件?
c# ×5
enums ×2
.net ×1
ado.net ×1
asp.net ×1
c ×1
cfc ×1
coldfusion ×1
database ×1
groupstyle ×1
iis-7 ×1
interop ×1
javascript ×1
jquery ×1
styles ×1
testing ×1
unit-testing ×1
variables ×1
winapi ×1
wpf ×1