创建简单的多线程安全日志记录类的最佳方法是什么?这样的事情足够了吗?如何在最初创建日志时清除日志?
public class Logging
{
public Logging()
{
}
public void WriteToLog(string message)
{
object locker = new object();
lock(locker)
{
StreamWriter SW;
SW=File.AppendText("Data\\Log.txt");
SW.WriteLine(message);
SW.Close();
}
}
}
public partial class MainWindow : Window
{
public static MainWindow Instance { get; private set; }
public Logging Log { get; set; }
public MainWindow()
{
Instance = this;
Log = new Logging();
}
}
Run Code Online (Sandbox Code Playgroud) 我想使用gradle创建一个名为"dev.properties"的属性文件.这是我的build.gradle代码:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.8.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 16
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 16
targetSdkVersion 16
}
def prop = new Properties()
def propFile = new File("dev.properties");
propFile.createNewFile();
prop.store(propFile.newWriter(), null);
buildTypes {
release {
runProguard false
proguardFile getDefaultProguardFile('proguard-android.txt')
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我右键单击build.gradle并选择run时,将创建该文件.但是,当我制作整个项目时,它不是创建的.怎么会?
我正在使用android studio 0.4.6和gradle 1.10.
我有一个WPF应用程序,它使用导航窗口和框架在xaml页面之间导航.每次它在页面之间发出咔嗒声.有没有办法禁用它?
到目前为止,我试过这个:
namespace FrameTesting
{
public partial class MainWindow : NavigationWindow
{
private const int FEATURE_DISABLE_NAVIGATION_SOUNDS = 21;
private const int SET_FEATURE_ON_THREAD = 0x00000001;
private const int SET_FEATURE_ON_PROCESS = 0x00000002;
private const int SET_FEATURE_IN_REGISTRY = 0x00000004;
private const int SET_FEATURE_ON_THREAD_LOCALMACHINE = 0x00000008;
private const int SET_FEATURE_ON_THREAD_INTRANET = 0x00000010;
private const int SET_FEATURE_ON_THREAD_TRUSTED = 0x00000020;
private const int SET_FEATURE_ON_THREAD_INTERNET = 0x00000040;
private const int SET_FEATURE_ON_THREAD_RESTRICTED = 0x00000080;
public MainWindow()
{
int feature = FEATURE_DISABLE_NAVIGATION_SOUNDS;
CoInternetSetFeatureEnabled(feature, SET_FEATURE_ON_PROCESS, true);
InitializeComponent();
}
[DllImport("urlmon.dll")]
[PreserveSig] …Run Code Online (Sandbox Code Playgroud) WPF中的网格目前有一个这样的网格系统:
Cols
+ + + + +
| 0 | 1 | 2 | 3 |
+--+---|---|---|---|---
0 | | | | |
+--+---|---|---|---|--- Rows
1 | | | | |
+--+---|---|---|---|---
2 | | | | |
+--+---|---|---|---|---
Run Code Online (Sandbox Code Playgroud)
有没有办法让它表现得像这样:
Cols
+ + + + +
| 0 | 1 | 2 | 3 |
+--+---|---|---|---|---
2 | | | | |
+--+---|---|---|---|--- Rows
1 | | | | |
+--+---|---|---|---|---
0 | | | | |
+--+---|---|---|---|---
Run Code Online (Sandbox Code Playgroud)
理想情况下,我希望RowSpan向上扩展项目而不是向下扩展.
例: …
我正在尝试创建一个函数,在设备pid和vid的情况下检测usb设备是否已连接.我希望它看起来像这样,我只是不确定如何在C#中做到这一点.
public bool IsUsbDeviceConnected(string pid, string vid)
{
//Code here
}
Run Code Online (Sandbox Code Playgroud) 我试图避免在捕获时返回不正确的值,但我找不到比这更好的解决方案:
private SecurityLevel ApiGetSecurityLevel()
{
try
{
return _BioidInstance.GetSecurityLevel();
}
catch
{
return SecurityLevel.High;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法这样做,所以我不返回不正确的值?我无法更改SecurityLevel枚举.
我有一个非常大的资源字典,我想知道是否有一个简单的方法来清除它通过删除任何未使用的元素(样式,画笔等)