- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Hãy xem xét mã này:
ví dụ public void(String s, int i, @Foo Bar bar) {
/* ... */
}
tôi sử dụng nó @Foo
Giá trị của tham số chú thích là đáng quan tâm. Giả sử tôi đã vượt qua sự phản ánh (sử dụng Phương thức#getParameterAnnotations()
) để tìm ra tham số phương thức nào có @Foo
Ghi chú. (Tôi biết đó là tham số thứ ba của bảng tham số.)
Làm sao để lấy lại bây giờ thanh
giá trị để sử dụng tiếp?
câu trả lời hay nhất
Bạn không thể. Sự phản chiếu không thể truy cập các biến cục bộ, bao gồm cả các tham số phương thức.
Nếu muốn chức năng đó, bạn cần chặn các cuộc gọi phương thức, bạn có thể thực hiện việc này theo một trong nhiều cách:
Trong tất cả những điều này, bạn sẽ thu thập các tham số từ lệnh gọi phương thức và sau đó yêu cầu lệnh gọi phương thức thực thi. Nhưng các tham số của phương thức không thể thu được thông qua sự phản chiếu.
Cập nhật: Đây là một khía cạnh mẫu để giúp bạn bắt đầu xác thực dựa trên chú thích bằng cách sử dụng AspectJ
khía cạnh công khai Xác thựcAspect {
pointcut serviceMethodCall() : thực thi(public * com.yourcompany.**.*(..));
Đối tượng xung quanh(Đối tượng cuối cùng[] args): serviceMethodCall() && args(args){
Chữ ký chữ ký = thisJoinPointStaticPart.getSignature();
if( signature instanceof MethodSignature){
MethodSignature ms = chữ ký (MethodSignature);
Phương thức phương thức = ms.getMethod();
Chú thích[][] tham sốAnnotations =
phương thức.getParameterAnnotations();
Chuỗi[] tham sốNames = ms.getParameterNames();
for(int i = 0; i < tham sốAnnotations.length; i++){
Chú thích[] chú thích = tham sốAnnotations[i];
xác thựcParameter(parameterNames[i], args[i],annotations);
}
}
return tiến hành (args);
}
riêng tư void validParameter(String paramName, đối tượng đối tượng,
Chú thích[] chú thích){
// xác thực đối tượng dựa trên các chú thích
// ném RuntimeException nếu xác thực thất bại
}
}
Giới thiệu về java - Làm cách nào để lấy giá trị của các tham số phương thức thông qua sự phản chiếu trong Java? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/7230326/
Tôi cần sự giúp đỡ của bạn với những điều sau đây. Tôi đã đọc về nhiệm vụ và không đồng bộ trong gần một tháng. Tôi muốn thử triển khai kiến thức mới tìm thấy của mình trong một dự án API WEP đơn giản. Tôi có các phương pháp sau và tất cả chúng đều hoạt động như mong đợi: public Htt
Tôi có tệp mẫu (.xls) trong tệp thực thi của mình. Không cần trong thời gian chạy, tôi cần tạo hơn 100 bản sao của tệp này (sẽ được thêm vào sau). Được sử dụng để lấy tài nguyên trong tệp jar (template.xls). tôi đang sử dụng
Tôi đang xem mã mô hình của trang web và có câu hỏi về nguyên mẫu. Tôi biết điều này hữu ích cho việc kế thừa trong Javascript. Trong ví dụ này...define([], function () { "use
Ba thao tác hàng đầu ảnh hưởng đến hiệu suất của tôi là: Nhận thanh cuộn Nhận chiều cao bù trừ Ext.getStyle Để giải thích những gì đang xảy ra trong ứng dụng của tôi: Tôi có một lưới với một cột trong mỗi ô hiển thị lưới. Khi tôi làm hầu hết mọi thứ với nội dung của lưới, nó sẽ hoạt động
Tôi đang sử dụng chức năng sau để lấy tham số URL. hàm gup(tên, url) { name = name.replace(/[\[]/, '\\\[').replace(/[\]]/,
Gần đây tôi đã sử dụng sysctl cho rất nhiều thứ và hiện tại tôi đang sử dụng biến HW_MACHINE_ARCH. Tôi đang sử dụng đoạn mã sau. Lưu ý rằng mã này hoạt động hoàn hảo khi tôi cố gắng lấy biến khác HW_MACHINE. tôi cũng nghĩ
đóng cửa. Câu hỏi này không tuân thủ các nguyên tắc của Stack Overflow. Hiện tại nó không chấp nhận câu trả lời. Đóng cửa 9 năm trước Các câu hỏi yêu cầu mã phải thể hiện sự hiểu biết tối thiểu về vấn đề đang được giải quyết. Bao gồm các giải pháp đã thử và tại sao
Vì sử dụng main-bower-files như một phần của tác vụ biên dịch bằng Gulp, nên tôi không thể sử dụng webpack trong node_modules để yêu cầu module code> dir vì tôi sẽ làm rối mã
đóng cửa. Câu hỏi này cần tập trung hơn. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện câu hỏi này? Đã cập nhật câu hỏi để tập trung vào một vấn đề chỉnh sửa bài đăng này Đã đóng 5 năm trước. Cải thiện câu hỏi này
Tôi đang sử dụng Gridlayout để đặt 4 phần tử liên tiếp. Đầu tiên, tôi có JPanel và mọi thứ đều hoạt động tốt. Đối với những trường hợp số lượng hàng ngày càng lớn và tôi phải cuộn xuống, tôi đã thực hiện một số thay đổi đối với nó. Bây giờ tôi đã thêm J vào JPanel của mình
Tôi muốn lưu giá trị của VolumeId vào một biến vì những lý do sau: #!/usr/bin/env python import boto3 import json import argparse import
Tôi đang cập nhật MSAL phiên bản 1.x lên trình duyệt MSAL cho Angular. Vì vậy, tôi đang cố gắng di chuyển từ phiên bản 1.x sang 2.XI và đã có thể thay thế mã thành công và nó hoạt động tốt. Nhưng tôi đã gặp có đượcT
Tôi biết có rất nhiều câu hỏi về vấn đề này như Lấy số trung bình hàng ngày với gấu trúc và Làm thế nào để lấy giá trị trung bình hàng tháng của gấu trúc bằng cách sử dụng nhóm nhưng tôi đã gặp phải
Đây là chuỗi truy vấn mà tôi nhận được trong URL đầu ra: /demo/analysis/test?startDate=Sat+
Tôi đang cố gắng truy cập lớp Geoserver var gkvrtWmsSource =new ol.source.ImageWMS({ u
API yêu cầu tiêu đề chứa mã ủy quyền. Đây là những gì tôi có cho đến nay: var fullUrl = 'https://api.ecobee.com/1/thermostat?json=\{"s
Làm cách nào tôi có thể lấy ký tự cuối cùng trong một tệp và nếu đó là một ký tự nhất định, hãy xóa nó mà không tải toàn bộ tệp vào bộ nhớ? Đây là những gì tôi có hiện tại. sử dụng (var fileStream = new FileStream("file.t
Tôi mới tham gia cộng đồng này và nghĩ ra câu hỏi đầu tiên của mình. Tôi đang làm việc với JSP và tôi đã tạo thành công các Trang web JSP đang sử dụng jsp:setParameter và jsp:getParameter bằng một chuỗi duy nhất.
Để trả lời cho việc sắp xếp lại StoreStore xảy ra khi biên dịch C++ cho x86 @Peter Cordes đã viết For Acquire/Release se
Tôi có một hàm, hãy gọi nó là X1, hàm này trả về biến Y. Hàm này được sử dụng trong hành động .on("focusout", X1). Làm thế nào để có được biến Y? Kết quả của X1 sau khi thực thi .on là gì? Câu trả lời hay nhất Bạn có thể thay đổi phạm vi của Y để nó nằm trong hàm
Tôi là một lập trình viên xuất sắc, rất giỏi!