假设我有 2 个窗口:InputWindow 和 DisplayWindow
当前:我想使用 InputWindow 通过 App 变量保存数据
// in InputWindow
(App.Current as App).u_id = obj.id;
Run Code Online (Sandbox Code Playgroud)
其中 u_id 是我在 app.xaml.cs 中定义的对象,obj.id 是 InputWindow 中的输入变量。
但是,当我关闭 InputWindow 并显示 DisplayWindow 时:
// in InputWindow
DisplayWindow window = new DisplayWindow();
window.Show();
Application.Current.MainWindow.Close();
Run Code Online (Sandbox Code Playgroud)
该应用程序还会杀死 InputWindow 中的数据。
所以我的问题是:
有没有办法将数据从关闭的窗口保存到打开的窗口?
如果在我使用如下单例实例后终止进程.是否存在内存泄漏?
我想知道如果我需要考虑所有这些,单身模式似乎非常复杂.
#include <mutex>
class Singleton
{
static Singleton *singletonInstance;
Singleton() {}
static std::mutex m_;
public:
static Singleton* getSingletonInstance()
{
std::lock_guard<std::mutex> lock(m_);
if(singletonInstance == nullptr)
{
singletonInstance = new Singleton();
}
return singletonInstance;
}
}
Run Code Online (Sandbox Code Playgroud) 我有这个示例代码,我通过迭代地图的键值对来创建变量.
(defmacro block [bindings & body]
`(let [
~@(mapcat (fn [[k v]] [(if (symbol? k) k (symbol (name k))) `~v]) bindings) ]
~body))
(block {:a 1 :b 2} (if true (prn "true" a b) (prn "false")))
Run Code Online (Sandbox Code Playgroud)
它工作正常.输出:"真实"1 2
但是现在我想传递与var相同的地图,但它会产生异常.
IllegalArgumentException不知道如何从:clojure.lang.Symbol创建ISeq
(def ctx {:a 3 :b 4})
(block ctx (if true (prn "true" a b) (prn "false")))
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种创建自定义消息而不是标准消息的方法。我所拥有的是这段代码(有点混乱):
Cypress.Commands.add('authenticate', {prevSubject: 'optional'}, (_, fixture) => {
return cy.fixture(fixture).then(credentials => {
cy
.apiRequest('scrambled/url/here', {
method: 'post',
authorizationMethod: 'Basic',
token: apiOauthSecret,
data: credentials
})
.then(resp => {
expect(resp.status)
.to
.eq(201, 'Unable to authenticate, login failed')
storeTokenInSession(resp.body)
})
})
})
Run Code Online (Sandbox Code Playgroud)
该代码导致如下错误:https : //i.stack.imgur.com/l2j4o.png
如果我修复了代码所以结果没问题,结果看起来像这样:https : //i.stack.imgur.com/Pr1iA.png
如您所见,如果 eq() 失败而不是 eq() 成功,则应显示消息。
我只想在检查失败时显示消息,但我也希望测试中断并停止。
你们知道如何让这个工作吗?我已经研究过使用 cy.log() 和这里显示的解决方案。
我们有以下类型的任务给出
newtype Trans state a = T {run :: state -> (a,state)}
type Stack a = Trans [Int] a
Run Code Online (Sandbox Code Playgroud)
我想要的是编写一个函数1.按下将一个Integer放在堆栈上2.弹出以返回并删除最高的对象
我试图谷歌通过状态monads来理解它们,我得到了概念,但我无法用给定的类型结构实现它.
Warning: An update to App inside a test was not wrapped in act(...).每当我提出API请求并更新状态时,我都会进入测试套件。
我正在使用反应测试库。我也尝试使用ReactDOM测试工具,得到了相同的结果。我尝试的另一件事是将容器包装在中act,仍然得到相同的结果。
请注意:我的应用程序正常运行,并且我的测试通过了。我只需要知道我在做错什么,或者是否是react-dom程序包中的错误使该错误出现。模拟控制台错误并将其静音是很不好的。
global.fetch = require('jest-fetch-mock');
it('should clear select content item', async () => {
fetch.mockResponseOnce(JSON.stringify({ results: data }));
const { container } = render(<App />);
const content = container.querySelector('.content');
await wait();
expect(content.querySelectorAll('.content--item').length).toBe(2);
});
Run Code Online (Sandbox Code Playgroud)
这是钩子实现:
const [data, setData] = useState([]);
const [error, setError] = useState('');
const fetchInitData = async () => {
try {
const res = await fetch(API_URL);
const data = await res.json();
if …Run Code Online (Sandbox Code Playgroud) 我有一个自定义结构,代码如下:
[Serializable]
public struct HexPoint : IEquatable<HexPoint>
{
public readonly int x;
public readonly int y;
public readonly int z;
// Some custom methods for initializations and operators
}
Run Code Online (Sandbox Code Playgroud)
如果我将 x、y 和 z 变量设为非只读,它们就会在统一检查器中正常显示。但是,我有一些他们需要满足的规则(实际上是 x+y+z=0),所以我添加了 readonly 以防止人们弄乱它。
但是作为只读变量,它们不会显示(因为它们不能被修改)!:(
我想知道它们是否是我在统一检查器中显示它们的一种方式,类似于 PropertyDrawer。我知道我可以将我的结构切换到一个类,因为 PropertyDrawer 是为类保留的,但我想将它保留为一个结构。
那么,有没有办法显示值?并最终使用自定义初始值设定项修改它们?
非常感谢!
我正在使用 .Net Core 2.1。我使用了不止一种DbContext。我正在DbContextFactory为每个上下文创建一个。但是,我想以通用的方式做到这一点。我只想创建一个DbContextFactory. 我怎样才能做到这一点?
MyDbContextFactory.cs
public interface IDbContextFactory<TContext> where TContext : DbContext
{
DbContext Create();
}
public class MyDbContextFactory : IDbContextFactory<MyDbContext>
{
public IJwtHelper JwtHelper { get; set; }
public MyDbContextCreate()
{
return new MyDbContext(this.JwtHelper);
}
DbContext IDbContextFactory<MyDbContext>.Create()
{
throw new NotImplementedException();
}
}
Run Code Online (Sandbox Code Playgroud)
工作单元.cs
public class UnitOfWork<TContext> : IUnitOfWork<TContext> where TContext : DbContext
{
public static Func<TContext> CreateDbContextFunction { get; set; }
protected readonly DbContext DataContext;
public UnitOfWork()
{
DataContext = CreateDbContextFunction(); …Run Code Online (Sandbox Code Playgroud) 当我在 DAO 类中编写查询时,我可以使用另一个类(或枚举)中的静态变量吗?如果可以的话请告诉我如何做?
我的意思是这样的:
public enum MessageState {
NOTHING,
PENDING,
SEND
}
Run Code Online (Sandbox Code Playgroud)
在 DAO 类的查询语句中:
@Query("SELECT * FROM message_db WHERE state = :MessageState.PENDING.ordinal()")
Run Code Online (Sandbox Code Playgroud) 为什么下面的 if 语句返回 1(true)?
int main() {
short a = 1;
short b = 5;
short c = 4;
if (a<b<c)
printf("true \n");
else
printf("false \n");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这显然不一样
if(a<b && b<c)
Run Code Online (Sandbox Code Playgroud)
因为这会返回 false。
谢谢
c# ×3
android ×1
android-room ×1
asp.net ×1
c ×1
c++ ×1
clojure ×1
cypress ×1
haskell ×1
javascript ×1
monads ×1
react-hooks ×1
reactjs ×1
singleton ×1
state ×1
struct ×1
unity-editor ×1
wpf ×1